我想在GridView绑定生成时,其中“审核”列用checkbox来显示,绑定的是表里面的一个int类型字段,1的时候显示checked,0的时候no checked。又请问编辑时怎么可以直接通过check来更新,而不是改0和1。谢谢,新手!

解决方案 »

  1.   

    // 模版列中
    <asp:checkbox checked='<% (int)Eval("审核列名") == 1 %>' ...
      

  2.   

    // ...
    string sqlUpdate = String.Format("UPDATE tbl SET 审核列={0}", MyCheckBoxID.Checked ? 1 : 0);
    // ...
      

  3.   

    数据绑定的是SqlDataSourceUpdateCommand="UPDATE [ProjectData] SET [TrueName] = @TrueName, [Department] = @Department, [Phone] = @Phone, [Email] = @Email, [ClassCnName] = @ClassCnName, [ClassEnName] = @ClassEnName, [审核列] = @Passed WHERE [ID] = @ID这个语句怎么改,在前台的~
      

  4.   

    <asp:CheckBoxField DataField="***" />既然用了DataSource就更简单了~
    就你那个语句就没问题了,注意下面有对应的参数列表如果是模板列,参考这个:   邦定需要用Bind而不是Eval Eval是单向邦定
                    <asp:TemplateField HeaderText="isFriend" SortExpression="isFriend">
                        <EditItemTemplate>
                            <asp:CheckBox ID="CheckBox1" runat="server" Checked='<%# Bind("isFriend") %>' />
                        </EditItemTemplate>
                        <ItemTemplate>
                            <asp:CheckBox ID="CheckBox1" runat="server" Checked='<%# Bind("isFriend") %>' Enabled="false" />
                        </ItemTemplate>
                    </asp:TemplateField>
      

  5.   

    yayx(yayx) 
    ----------------------------------------------------------------------------
    错误提示:当从一个数值执行强制转换时,值必须是一个小于无限大的数字确保源类型可以转换成目标类型
      

  6.   

    Jinglecat(晓风残月 >> 问题需简洁,错误要详细) 
    -----------------------------------------------------------// 模版列中
    <asp:checkbox checked='<% (int)Eval("审核列名") == 1 %>' ...------------------------------------------------------------错误提示:当从一个数值执行强制转换时,值必须是一个小于无限大的数字确保源类型可以转换成目标类型
      

  7.   

    to:kanjing(勘京)怀疑是你的数据有问题 可能数据为空 或者可能数据是其它类型
    找找你数据库字段类型对不对 1或者0用bit类型就行了可以用个TextBox Text="<&#Eval("")%>"绑定出来看看
      

  8.   

    今天我也碰到了你同样的问题,但不同的是我没有在里面输入任何东西,在SQL里面显示的是NULL,我把它给删除了,就没有事了。