最笨的方法在DataGrid的ItemDataBound中:
if ((itemType != ListItemType.Pager) && (itemType != ListItemType.Header) && (itemType != ListItemType.Footer)) 
{
    for(int i = 0;i <3;i++)
    {
        switch(e.Item.Cells[i].Text)
        {
            case "0";
                e.Item.Cells[i].Text = "好";
                break;
            case.......
        }
    }
}

解决方案 »

  1.   

    直接写sql语句就行了
    自己看一下case语句
      

  2.   

    bcqingteng 和 xueqs 的都对,另外还可以在数据绑定表达是里写一个函数处理
      

  3.   

    我还是不太懂啊
    <asp:BoundColumn DataField="RequestState" HeaderText="状态">
     <ItemStyle Width="30px"></ItemStyle>
    </asp:BoundColumn>怎样改?
      

  4.   

    bcqingteng(懒人) 的方法不吧
    直接在SQL语句中就可以转换了
      

  5.   

    我的SQL语句是在类中的,隐藏了,反回一个DataSet
      

  6.   

    意思是说在SQL语句里面就处理好了然后拿出来放到你的DataSet里面就OK了
    在SQL里面用case语句
      

  7.   

    谢谢: softchao(【∵笑了∵】但是底层的东西我不想改动,还有别的办法吗?谢谢
      

  8.   

    同意 bcqingteng(懒人)  得做法,不過如果很多得話這樣顯示好像要很多CASE語句,不知道還有沒有更好得
      

  9.   

    偶也想写sql啊,可惜偶sql用的不好,所以用最简单的方法咯,嘿嘿,各位大哥可以给个sql的例子,偶也学习学习
      

  10.   

    建两个表.一个表为1,2,3.另一个表为好,不好,差.让两个表连接.用SQL语句调用.
    我就是这么用的!!!!
      

  11.   

    同意syf2000119(ff)的意见,建两个表进行联合查询
    我以前也是这样做的,不然的话,用别的方法也能做,但很麻烦
      

  12.   

    ....
    DataGrid1.DataBind(); 
        for (int i=0; i<DataGrid1.Items.Count ;i++)
    {
    //如果是第一列
               switch(DataGrid1.Items[i].Cells[0].Text){
                     case "0";
                         DataGrid1.Items[i].Cells[0].Text = "好";
                         break;
                      case.......           }
              }
      

  13.   

    不如对dataset进行pbsg(小玉) 的判断
    dataset再加一列放好中差。
    datagrid绑定那一列
      

  14.   

    在DataGrid的ItemDataBound中改的方法好,不影响其他部分。