2010-01-19 52 views
1

當從GridView中選擇的行我動態地添加項目。的CheckBoxList動態地更新和定型

1. How can i make the items added are selected by default - (solved) 
2. How can i avoid duplicates getting added to list 
3. How can i remove them from list when user un-checks them. 

而且我想改變複選框具有圖像和我使用的CSS像下面,但它不工作

.cbxCustom 
{ 
... 
} 
.cbxCustom tr td checkbox 
{ 
.... 
} 

<asp:CheckBoxList ID="cbl1" runat="server" AutoPostBack="true" 
    OnSelectedIndexChanged="cbl1_OnSelectedIndexChange"  
    CssClass="cbxCustom">         
</asp:CheckBoxList> 

回答

0

重複可以通過保持在一個列表您的項目,並添加之前避免該項目,檢查是否lst.Contains(itemName)。如果有,請不要添加它。

從列表中刪除他們是多一點問題,因爲它取決於你想如何深深地進入它。我假設你不想每次點擊一個複選框都有一個回發。如果你想要一個PostBack,你需要一種將你的複選框和信息列表序列化到ViewState控件中的方法。由於您在代碼隱藏中動態添加此列表,因此我建議使用不可見的文字,其工作只是保存包含數據的序列化字符串。

如果你不想回發,則需要工作了的JavaScript顯著量來修改是由CheckBoxList的輸出表的innerHTML。再次,如上所述,我會使用Literal或一些ViewState管理的不可見控件來序列化狀態。在這種情況下,文字不起作用,而是一種可能。