Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将自定义复选框列表转换为等效的GridView?_C#_Data Binding_Gridview_Webforms_Checkboxlist - Fatal编程技术网

C# 如何将自定义复选框列表转换为等效的GridView?

C# 如何将自定义复选框列表转换为等效的GridView?,c#,data-binding,gridview,webforms,checkboxlist,C#,Data Binding,Gridview,Webforms,Checkboxlist,我有一个自定义复选框列表: <CustomCheckBoxList runat="server" ID="ItemsCBL" DataSourceID="ItemsData" DataTextField="datacolumn" DataValueField="datacolumn" SelectedValues='<%# Bind("Items") %>' /> 其中SelectedValues属性的类型为NHibernate.Collection

我有一个自定义复选框列表:

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

其中SelectedValues属性的类型为
NHibernate.Collection.Generic.PersistentGenericBag

如何将其转换为具有相同绑定功能的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,因为我需要添加一个额外的复选框列


谢谢回复

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

解决方案是手动执行双向数据绑定

OnRowDataBound事件处理程序上的数据源绑定

并绑定到父控件OnRowEditing事件处理程序中的数据源


示例:

我该怎么做?绑定必须是双向的在返回的数据中是否有一列指定是否选中复选框?!SelectedValues的类型为NHibernate.Collection.Generic.PersistentGenericBag。在它里面有一些字符串用于选中的标签。CustomCheckBoxList位于FormView内部,FormView也是数据绑定的,SelectedValues=''正在父字段“Items”上执行。如果要允许双向绑定,必须使网格的返回数据包含一个值为选中或未选中的列,以便我们可以对其调用“Bind”函数。