我的gridview中有一个列是checkbox的,因为我的数据库里的对应的字段是一个BOOL型,但是我在做更新时,用取当前行的值,checkbox的值我转换不来了,GridView1.Rows[e.RowIndex].Cells[7].Controls[0])这个应该怎么转换呢,调试的时候我看这个的Checked值是True,Text的值是空,
GridView1.Rows[e.RowIndex].Cells[7].Controls[0]).Checked没这个方法嘛...怎么办呢? 我要让他选中时'1',不选中时'0'.

解决方案 »

  1.   

    怎么用?我用的是CHECKBOXFIELD了,这个难道不能取值的?
      

  2.   

    <asp:TemplateField HeaderText="显示">
        <ItemTemplate>
            <asp:CheckBox runat="server" Checked='<%# Convert.ToInt32(Eval("IsDisplay")) == 1 ? true : false %>' />
        </ItemTemplate>
    </asp:TemplateField>
    GridViewRow row = GridView1.Rows[e.RowIndex]; 
    CheckBox chk = ((CheckBox)row.FindControl("CheckBox1"); 
    int dispay = chk.Checked ? 1 : 0; 
      

  3.   

    bool bl=Convert.ToBoolean(GridView1.Rows[e.RowIndex].Cells[7].Value);
      

  4.   

    CheckBox check=(CheckBox)GridView1.Rows[e.RowIndex].FindControl("checkboxID");
    if(check.checked)
        doSomething();
    else
        doSomething();
      

  5.   


    里面的CHECKBOXID是指什么?
      

  6.   

    我添加时checkbox列可不可以不变它,得到值呢?
    <asp:CheckBoxField DataField="" HeaderText="" 
                                    SortExpression="" />还有Eval("IsDisplay")种的IsDisplay是指哪个?