GridView列的EditItemTemplate中的复选框

时间:2011-01-21 18:08:00

标签: asp.net gridview checkbox

我在GridView中有一个模板字段,可以在编辑视图中显示一个复选框,在普通视图中显示一些自定义文本。

填充网格的查询结果将返回到DataSet中。

在编辑视图中,我无法使用复选框来接受从DataSet重新调整的列(采用T / F格式),因为它表示它的类型不正确。 即使我在列中返回“true”或1,它仍然无效。

我认为我需要转换,但无法在此上下文中获得正确的语法

<EditItemTemplate>
              <asp:CheckBox ID="cbPostToFarm" runat="server" Checked='<% Bind("BOOL_COL")' />
            </EditItemTemplate>

4 个答案:

答案 0 :(得分:1)

使用GridView DataBound事件设置值。在DataBound事件中:

确保您使用的行不是页眉/页脚行 创建对CheckBox的引用。
创建对绑定数据的引用。
在适当的时候选中CheckBox标记。

答案 1 :(得分:1)

这对我来说很有用(.net Visual Studio 2010)

<asp:TemplateField HeaderText="Ordered" SortExpression="Ordered">
                        <ItemTemplate>
                            <asp:CheckBox ID="ID_CKBOX" runat="server" 
                            Checked='<%#Eval("ordered") %>' />
                        </ItemTemplate>
                        <ItemStyle Width="8px" />
                    </asp:TemplateField>

其中'ordered'是select语句的db字段之一。

答案 2 :(得分:1)

你太近了!只是错过了#和结尾的%&gt;

<EditItemTemplate>
<asp:CheckBox ID="cbPostToFarm" runat="server" Checked='<%# Bind("BOOL_COL") %>'/>
</EditItemTemplate>

请注意,在Checked而不是Double Quotes之后使用单引号很重要。双引号会出错。

答案 3 :(得分:0)

我通过不直接绑定到数据集但创建强类型列表来解决问题。

我确信必须有一个语法技巧来让复选框直接绑定到DataSet,但为了一个简单的类型,我放弃了看。

相关问题