如何在gridview中绑定数据表中的复选框值

Posted

技术标签:

【中文标题】如何在gridview中绑定数据表中的复选框值【英文标题】:how to bind checkbox value from datatable in gridview 【发布时间】:2011-11-16 16:26:44 【问题描述】:

我需要弄清楚如何在 GridView 中绑定 CheckBox 值,我在 GridView 中编写了 CheckBox.Checked= DataBinder.Eval(Container.DataItem, "IsSubscribed"),但 CheckBox 始终被选中,即使 @ 987654321@ 是假的。

在页面回发之前,我已经在Page_Load 中绑定了网格。这是我的代码:

<asp:TemplateField HeaderText="Select"> 
     <ItemTemplate> 
        <asp:CheckBox 
            ID="chkIsSubscribed" runat="server" HeaderText="IsSubscribed" 
            Checked='<%# DataBinder.Eval(Container.DataItem, "IsSubscribed") %>'/>  
     </ItemTemplate> 
</asp:TemplateField>

谢谢。

【问题讨论】:

请发布您的代码,然后您在 !ispostback 中绑定网格,这样它就不会在每次页面加载时调用 我在 !ispostback 中绑定了网格,我的代码是: IsSubscribed 返回的值是返回 0 或 1 还是其他值 刚刚看到“已检查”为我解决了。我从texbox复制并粘贴。 :) 【参考方案1】:

将此代码作为您的项目模板元素:

<asp:TemplateField HeaderText="Select">
    <ItemTemplate>
        <asp:CheckBox ID="chkIsSubscribed" runat="server" HeaderText="IsSubscribed" 
        Checked='<%#bool.Parse(Eval("IsSubscribed").ToString())%>' />
    </ItemTemplate>
</asp:TemplateField>

【讨论】:

【参考方案2】:
<asp:TemplateField HeaderText="Select"> 
     <ItemTemplate> 
        <asp:CheckBox 
          ID="chkIsSubscribed" runat="server" HeaderText="IsSubscribed" 
          Checked='<%#Convert.ToBoolean(Eval("IsSubscribed")) %>'/>  
     </ItemTemplate> 
</asp:TemplateField>

请用这个......

【讨论】:

此解决方案处理了格式异常:String was not recognized as a valid Boolean【参考方案3】:

Eval() 给出一个对象类型。 所以如果你想比较它,你必须使用 Eval(..).ToString() ...... 喜欢:

        <asp:TemplateField HeaderText="Actif">
            <ItemTemplate><asp:CheckBox ID="chkIsACTIF" runat="server" Enabled="false" Checked='<%# (Eval("ACTIF").ToString() == "1" ? true : false) %>' /></ItemTemplate>
            <EditItemTemplate><asp:CheckBox ID="chkACTIF" runat="server" Checked='<%# (Eval("ACTIF").ToString() == "1" ? true : false) %>' Enabled="true" /></EditItemTemplate>
            <FooterTemplate><asp:CheckBox ID="chkNewACTIF" runat="server" Checked="true" /></FooterTemplate>
        </asp:TemplateField>

【讨论】:

以上是关于如何在gridview中绑定数据表中的复选框值的主要内容,如果未能解决你的问题,请参考以下文章

根据数据表值在gridview中设置复选框

如何将值存储在列表或数组中并将所有值绑定到数据表然后gridview

求救: Gridview绑定数据时如何根据数据 显示相应图片。。。

如何将数据源绑定到 datagridview 组合框和复选框

DropDownList怎样与数据库中的数据绑定

Repeater中 DropDownList如何绑定数据