如何在GridView中设置Checkbox值?

时间:2013-07-22 15:56:42

标签: asp.net gridview checkbox

如何设置CheckBox值,它位于Gridview内?

  <asp:GridView ID="gviewPermission" runat="server" 
        onrowdatabound="gviewPermission_RowDataBound" 
        onrowupdated="gviewPermission_RowUpdated" 
        onrowupdating="gviewPermission_RowUpdating">
        <Columns>
            <asp:TemplateField HeaderText="Allow" ItemStyle-HorizontalAlign="Center">
                <ItemTemplate>
                    <asp:CheckBox ID="Check_Allow" runat="server" />
                </ItemTemplate>
            </asp:TemplateField>
            <asp:TemplateField HeaderText="Deny" ItemStyle-HorizontalAlign="Center">
                <ItemTemplate>
                    <asp:CheckBox ID="Check_Deny" runat="server" />
                </ItemTemplate>
            </asp:TemplateField>
        </Columns>
    </asp:GridView>

复选框值必须根据某些条件设置....

4 个答案:

答案 0 :(得分:5)

gviewPermission_RowDataBound函数中执行:

if(e.Row.RowType == DataControlRowType.DataRow)
   ((CheckBox)e.Row.FindControl("Check_Allow")).Checked = SomeCondition;

如果条件直接来自数据源,您可以这样做:

 <ItemTemplate>
    <asp:CheckBox ID="Check_Allow" runat="server" 
                  Checked='<%# Eval("ConditionFromDs") %>' />
 </ItemTemplate>

答案 1 :(得分:2)

如果列的值是布尔值则。请尝试以下代码

<ItemTemplate>
  <center>
      <asp:CheckBox ID="chkSelect" Checked='<%#Convert.ToBoolean(Eval("isChecked"))%>' runat="server"></asp:CheckBox></center>
 </ItemTemplate>

其中“isChecked”是列名。

答案 2 :(得分:0)

CheckBox控件有一个名为Checked的属性,其作用与html对应属性类似。因此,在aspx标记中设置此属性:

<asp:CheckBox ID="Check_Allow" runat="server" Checked='<%= someCondition == true %>' />

或代码隐藏。

答案 3 :(得分:0)

  <ItemTemplate>
            <asp:CheckBox runat="server" checked='<%# bool.Parse(Eval("check").ToString()) %>'  ID="chkselet" />
  </ItemTemplate>

检查值必须为true或false