2009-09-22 46 views
1

我有一個網站在Asp.Net中編程,並使用ListView顯示數據。數據來自LinqDataSource。DataBound CheckBoxList

在我EditItemTemplate中我有包括一個CheckBoxList的:

<asp:CheckBoxList runat="server" ID="TypeCheckBoxList" RepeatColumns="2"> 
<asp:ListItem Value="128">6.-10. klasse<br />Norddjurs vejleder</asp:ListItem> 
<asp:ListItem Value="64">6.-10. klasse<br />Syddjurs vejleder</asp:ListItem> 
<asp:ListItem Value="32">Gået ud af skolen<br/>Norddjurs vejleder</asp:ListItem> 
<asp:ListItem Value="16">Gået ud af skolen<br/>Syddjurs vejleder</asp:ListItem> 
<asp:ListItem Value="8">Ekstra støtte<br/>Norddjurs vejleder</asp:ListItem> 
<asp:ListItem Value="4">Ekstra støtte<br />Syddjurs vejleder</asp:ListItem> 
<asp:ListItem Value="2">Kontakt</asp:ListItem> 
<asp:ListItem Value="1">Om os<br />Medarbejdere</asp:ListItem> 
</asp:CheckBoxList> 

我有我的數據庫列名爲類型,它是一個TINYINT。因此我可以說(字節)評估(「類型」)。

但是,如何將我的Eval(「Type」)數據綁定到CheckBoxList,如果Eval(「Type」)是3,那麼最後兩個項目被選中?

我已經嘗試設置一個隱藏的值綁定到類型,然後在CheckBoxList OnLoad設置選定的項目。但那沒有用。

回答

3

這是做它的方式JavaScript函數,用隱藏的值綁定到Type,但在ListView的ItemDataBound事件上。

因此事件會是這個樣子:

protected void ListViewId_ItemDataBound (object sender, ListViewItemEventArgs e) 
{ 
    HiddenField hdfType = (HiddenField)e.Item.FindControl("hdfType"); 
    CheckBoxList TypeCheckBoxList = (HiddenField)e.Item.FindControl("TypeCheckBoxList"); 

    // and you put the hidden just for EditItem and do: 
    if (hdfType != null) 
     foreach (ListItem item in TypeCheckBoxList.Items) 
      if (int.Parse(item.Value) < int.Parse(hdfType.Value)) 
       item.Selected = true; 
} 

(我寫這一切從我的頭,所以可能有一些小的失誤)

+0

我會研究它:)但它只是爲EditItem有一個複選框列表。不是所有的項目。 – 2009-09-23 06:57:48

+0

您只能將EditItem的HiddenField。 然後做所有的檢查/後選擇在括號: 如果(hdfType!= NULL){ ... } 它 – 2009-09-23 07:16:15

+0

肯定不會工作。非常感謝你! :) – 2009-09-23 15:33:57

0

首先,你應該這樣寫

function Selected(value,type) 

{ 

    if(value<type) 
    return true; 
    else 
    return false; 
} 



<asp:ListItem Value="32" Selected= javascript:function Selected(32,Eval("Type"))>Gået ud af skolen<br />Norddjurs vejleder</asp:ListItem>  
<asp:ListItem Value="16" Selected= javascript:function Selected(16,Eval("Type")>Gået ud af skolen<br />Syddjurs vejleder</asp:ListItem> 

點點的修改可能會被要求完成it..major重點選擇屬性

+0

好吧,我會盡力的。但是,我希望服務器端解決方案更好。 – 2009-09-22 16:14:06

+0

我不認爲它有效。你確定JavaScript在那個屬性中工作嗎? – 2009-09-22 16:25:54