日期:2014-05-17  浏览次数:20386 次

关于GridView数据显示的问题!
假如我数据库中有一个类别字段,字段class字段类型为int分别为1,2,3如图:

假如我在页面用asp.net中的gridview显示这个字段,假如class为1时,显示为 收入 class为2时显示支出,为3时显示为修改,请教一下高手!谢谢!
------最佳解决方案--------------------
gridview 的 rowdatabound事件中:
switch (e.Row.Cells[index].Text)
                {
                    case "1": e.Row.Cells[index].Text = "收入"; break;
                    case "2": e.Row.Cells[index].Text = "支出"; break;
                    case "3": e.Row.Cells[index].Text = "修改"; break;
                 }
------其他解决方案--------------------
引用:
gridview 的 rowdatabound事件中:
switch (e.Row.Cells[index].Text)
                {
                    case "1": e.Row.Cells[index].Text = "收入"; break;
                    case "2": e.Row……
顶一下
------其他解决方案--------------------
gridview是没办法帮你进行逻辑判断的。
通常我的做法是在sql语句里面下手,查询数据的时候判断,但我不知道你的数据来源是用何种方式,转换麻不麻烦。
select *, CASE WHEN class=1 THEN '收入'  WHEN class=2 THEN '支出' else '修改' END as class1 from TableName
你看看对你有么样帮助吧。
------其他解决方案--------------------
gridview的rowdatabound事件内进行处理。

Lable result = e.Row.FindControl("你的classid") as lable);
可以采用硬编码
if(result.text=="1")
    result.text="收入";
else if....

else.....
------其他解决方案--------------------
引用:
gridview是没办法帮你进行逻辑判断的。
通常我的做法是在sql语句里面下手,查询数据的时候判断,但我不知道你的数据来源是用何种方式,转换麻不麻烦。
select *, CASE WHEN class=1 THEN '收入'  WHEN class=2 THEN '支出' else '修改' END as class1 from TableName
你看看对你有么样帮助吧。


这个index如何设置呢?
------其他解决方案--------------------
引用:
gridview 的 rowdatabound事件中:
switch (e.Row.Cells[index].Text)
                {
                    case "1": e.Row.Cells[index].Text = "收入"; break;
                    case "2": e.Row.Cells[index]……



请问index是什么呢?
------其他解决方案--------------------
引用: