【问题标题】:how to bind checkbox value from datatable in gridview如何在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复制并粘贴。 :)

标签: asp.net .net data-binding gridview checkbox


【解决方案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>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-20
      • 1970-01-01
      • 2019-09-20
      • 2023-03-14
      相关资源
      最近更新 更多