首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

关于GridView数据显示的有关问题

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

关于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是什么呢?
[其他解释]
引用:

引用:gridview 的 rowdatabound事件中:
switch (e.Row.Cells[index].Text)
                {
                    case "1": e.Row.Cells[index].Text = "收入"; break;
          ……


单元格的索引

要么sql 中处理  case .....when ..then ...end 详细的可以百度到
要么显示的时候<%#Eval("sex").tostring()=="1"?"真":"假"%> 最好必要超过三个  。 百度三目运算符
[其他解释]
引用:
gridview的rowdatabound事件内进行处理。

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

else.....


为什么是未将对象引用设置到对象的实例。
[其他解释]
引用:
引用:
gridview 的 rowdatabound事件中:
switch (e.Row.Cells[index].Text)
                {
                    case "1": e.Row.Cells[index].Text = "收入"; break;
                    c……
 index是列的索引
[其他解释]
解决办法
1.就是sql前面说过。
2.就是在rowdatabound时候绑定。
3.就是在绑定的时候调用后台方法,这样会比较容易;
public string GetString(int i)
{
     if(i==1)
       return "";
}
这里只是举个简单例子。
[其他解释]
引用:
引用:gridview的rowdatabound事件内进行处理。

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

els……


你先判断下lable是否为空在
if(result !=null)
   if(result.text=="1")

热点排行