假如表table1中有字段field1(为bit类型),在读取该表的SQL语句中对该字段进行特殊处理:SELECT field1, CASE field1 WHEN 0 THEN '否' WHEN 1 THEN '是' END AS field2, field3 FROM table1这样在DataGrid中便有了同一字段的两种表现形式,你可以将field1(bit类型)隐藏,即让用户看到的只是field2(否/是),而在实际运算的时候你再引用field1。

解决方案 »

  1.   

    在程序中处理没有用SQL语句处理好
      

  2.   

    用模版列做数据绑定:
    例:
    <ItemTemplate>
    <asp:Label runat="server" Text='<%# FormatField(DataBinder.Eval(Container, "DataItem.myfield").ToString()) %>'></asp:Label>
    </ItemTemplate>aspx.cs:
    public string FormatField(string flag)
    {
    if(flag == 0) return "否";
    else return "是";
    }
      

  3.   

    winform? 看错了,sorry.
    不知道我说的winform中行不行
      

  4.   

    winfrom中是没有办法对datagrid进行修改的
    datagrid的值是通过绑定显示的,也就是说是显示数据源的数据,
    如果修改datagrid的话必须修改数据源
      

  5.   

    在你绑定datatable之前,先循环datatable中的数据
    当该列值为0时将之改为“否”,为1时改为“是”
      

  6.   

    或者取数据的时候在sql语句中用case when 语句处理
      

  7.   

    1、处理SQL语句,把数据库中的bit类型转为char(),这样就不会出现checkbox,如:select ID,Context,ParentID,CAST(testbool AS char(2)) AS testbool from table
      

  8.   

    2、在你绑定datatable之前,先循环datatable中的数据,当该列值为0时将之改为“否”,为1时改为“是”:
    直接修改datagrid的语句是:DataGrid[0,0] = "是";//修改第一行第一列的值。