用DateGrid显示数据,其中中一列在数据库里有1、2、3三个数字值,我想做到,如果是1,就是Dategrid上显示:“没有数据”
如果是2,就显示“数据处理中”,如果是3的话,就显示“下载“可点击下载就链接到要下载的页面中去。。请问如何实现呀?

解决方案 »

  1.   

    1.在DataGrid_ItemDataBound事件中判断是不是1Or 2or 3然后再做显示了.
    eg:格式化DataGrid的例子【将数据源中的0,1值或者逻辑值转换成实际的文字】
    http://dotnet.aspx.cc/ShowDetail.aspx?id=F73EF6AD-6878-4748-B963-5181252E5AED
    3.用HyperLink即可
      

  2.   

    两个办法:
    1.在SQL语句里面直接处理,但受限于数据库的不同而有不同的处理方式.
    oracle:select decode(xx,1,'没有数据',2,'数据处理中',3,'下载') from table
    access:select iif(xx=1,'没有数据',iif(xx=2,'数据处理中','下载')) from table
    2.在页面绑定的时候,在后台代码中写一个函数进行处理.
    <%# myCutString(Convert.ToString(DataBinder.Eval(Container, "DataItem.ban_sno"))) %>
    后台函数
    protected string myCutString(string mystr)
    {
    switch(mystr)
    {
    case "1":
    return("xxx");
    break;
    case "2":
    ....
    break;
    default:
    ...
    break;
    }
    }