C# gridview复选框选中值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# gridview复选框选中值相关的知识,希望对你有一定的参考价值。

1. 复选框只能选择一个
2. 获取选中复选框对应的员工编码值
已经用js搞定了

参考技术A 1.放一个单选框吧.
前台:

<asp:TemplateField ControlStyle-Width="30" HeaderText="选择">
<ItemTemplate>
<asp:RadioButton ID ="Select" runat="server" />

</ItemTemplate>
<ControlStyle Width="30px"></ControlStyle>
<ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" />
</asp:TemplateField>

2. 后台获取选中行姓名
string name ="";
for(i=0;i<gridview.Rows.Count;i++)

RadioButton rb = (RadioButton)gridview.Rows(i).Cells[0].FindControl("Select");

if (rb.Checked)


name = gridview.Rows(i).Cells[2].Text;

参考技术B 既然是单选的话,那你这个就放单选按钮,然后这些按钮的name设置为一样的,设置value为员工编码值 参考技术C gridview.CurrentRow.Cells["员工编号"].Value.ToString()//获取员工编号 参考技术D 遍历哪一行选中了,然后取这一行的员工编号不就可以了吗?

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

【中文标题】如何在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>

【讨论】:

以上是关于C# gridview复选框选中值的主要内容,如果未能解决你的问题,请参考以下文章

C# DevExpress控件,GridControl中复选框值可以进行多选

如何从C#中获取ListView中选中某一行某一列的值

如果选中 CheckAll 则全选,如果未选中则使用 jQuery 从 Gridview 中取消全选

只允许选中一个复选框 - asp.net c#

c# DataGridView中,选中了多个行,如何获取选中的每一行的数据,或者每一行的索引?

在 Yii gridview 分页中保留复选框值