数据操作返回的是一个DataSet,已经指定了内部TableName="dt"
现在要把这个DataSet源给DataGrid,其中有一列显示的是"0"和"1",但我不想这样做,我希望这列显示的"是"或者"否"
我该如何做?

解决方案 »

  1.   

    帮你顶,可是我说了在存储过程里面用case when就可以解决的,不是很麻烦。
      

  2.   

    比如dt中要限制的列是第一列,表中有i行记录
    for(1到i)
    {
    switch(datagrid.item(i,1).tostring())
    case "1" :
    datagrid.item(i,1).tostring()="是";
    case "0":
    datagrid.item(i,1).tostring()="否"
    defoult:
    datagrid.item(i,1).tostring()="否"
    }
      

  3.   

    @yz1199(逃离孤独)
    winform DataGrid没有.Item,我都试过了
      

  4.   

    第一种办法是在数据库就整理好,用select case 列名 when 0 then '是' when 1 then '否' end from 表名 ,这样以出来的数据源就可以直接绑定了第二种方法是在绑定前循环所有数据源,当列值为0或1时替换
    for(int i=0;i<dt.Rows.Count;i++)
    {
         dt.Rows[i]["列名"] == "0"?"是":"否"
    }
      

  5.   

    @accpyy(小小鸟儿) 
    原来是存储过程取的数据,不能改存储过程,只能在代码里写第二种方法,我已经试过了,不知道为什么出错
    用它的.Table[0]给了DataTable dt了,仍然成功不了,我希望可以有更全一点的代码谢谢
      

  6.   

    原先是bool型,当然出错哪,改成字符型试试!!!