2011-08-16 44 views
0

我有这个习俗的CheckBoxList:如何将自定义CheckBoxList转换为等效的GridView?

<CustomCheckBoxList runat="server" ID="ItemsCBL" DataSourceID="ItemsData" 
    DataTextField="datacolumn" DataValueField="datacolumn" 
    SelectedValues='<%# Bind("Items") %>' /> 

哪里SelectedValues属性的类型是NHibernate.Collection.Generic.PersistentGenericBag<string>

我怎样才能将其转化为具有相同绑定功能的GridView的?

<GridView runat="server" ID="ItemsAllowed" ShowFooter="false" DataSourceID="ItemsData" 
AutoGenerateColumns="false"> 
<Columns> 
    <asp:TemplateField HeaderText="UserAllowed"> 
    <ItemTemplate> 
     <asp:CheckBox ID="cbUserAllowed" runat="server" /> 
    </ItemTemplate> 
    </asp:TemplateField> 
    <asp:TemplateField HeaderText="ItemList"> 
    <ItemTemplate> 
     <asp:Literal ID="litItem" runat="server" Text='<%# Bind("datacolumn") %>' /> 
    </ItemTemplate> 
    </asp:TemplateField> 
</Columns> 
</GridView> 

我需要将它转换为GridView的原因我需要添加一个额外的复选框列。

感谢您的回复!

回答

0

我想你所做的是正确的,但你需要添加“Checked”属性到复选框来调用服务器端函数来检查当前复选框是否在选定的项目中。

+0

我该怎么做?绑定必须是双向的 –

+0

在返回的数据中是否存在指定复选框是否被选中的列? –

+0

SelectedValues的类型是NHibernate.Collection.Generic.PersistentGenericBag 。里面有检查标签的字符串。 CustomCheckBoxList在FormView中,它也是绑定在父项'Items'上的数据绑定,SelectedValues ='<%#Bind(“Items”)%>“。 –

相关问题