首页 新闻 会员 周边

GridView和DataSoruce的问题

0
悬赏园豆:50 [已解决问题] 解决于 2008-01-08 10:33
我做了一个任务管理的小程序,数据库中任务状态保存为0,1;显示的时候要求是“已完成”、“未完成”。我在GridView的事件中把0改为了显示“已完成”,有一个功能是改变状态,如果从GridView得到数据就是“已完成”,还需要转换,如果能从DataSource直接得到值,就方便多了。<br>问题就是:从GridView怎么得到数据源,然后从数据源中得到原始数据?<br>
问题补充: 这个问题的关键是,如何从GridView对应的DataSource中取得数据,显示是很容易完成的。 实际上,是想和java的做法对比下,看看View和Model的分离在.net下是不是很容易。 大家可能没有明白我的问题重点,从0到“已完成”,我已经做完,使用的RowDataBound,现在想在改变状态按钮中,把0改变为1,但从GridView只能取到“已完成”,我想直接从gridView的数据源中取到原始数据0,不是页面输出中的“已完成”,唉,就是这个问题啦。一句话就是,.net中的view和model分离问题。
姜涛的主页 姜涛 | 初学一级 | 园豆:5
提问于:2007-12-27 10:28
< >
分享
最佳答案
0
使用GridView的DataKeys和SelectedDataKey就可以了,将需要取值的字段名写入DataKeyNames,然后使用SelectedDataKey就能取出来了,DataKeys就是他的字典。
lu xu | 菜鸟二级 |园豆:410 | 2007-12-28 16:41
其他回答(9)
0
你在数据绑定的时候处理一下不得了,用数据源读出来的是 0 1 ,绑定的时候用三元处理一下,就可以显示 完成/未完成了
niugm | 园豆:1685 (小虾三级) | 2007-12-27 10:43
0
使用模板列,在GridView的RowDataBound事件里可以实现 可以不使用模板列,在绑定时使用三元运算符 还可以在DataSource的Selected事件中对返回的DataTable进行处理,添加一列,把这一列绑定上去
丁学 | 园豆:18730 (专家六级) | 2007-12-27 11:16
0
可以写在SQL里面. 或者从DropDownList继承出来一个下拉列表,需要用到这个字段的时候就使用这个下拉列表,这样就不用每次都转换了.
沙加 | 园豆:3680 (老鸟四级) | 2007-12-27 11:30
0
可以在取数据时就转换过来,比如 select case YourColumn when 1 then '已完成' else '未完成' end from YourTable
Jack Niu | 园豆:210 (菜鸟二级) | 2007-12-27 11:30
0
用隐藏列行不
Anders Cui | 园豆:1570 (小虾三级) | 2007-12-27 13:55
0
可以用隐藏列,感觉是用RowDataBound比较好啊
Birdshover | 园豆:352 (菜鸟二级) | 2007-12-27 17:31
0
不喜欢用Gridview之类的东西,感觉有的时候自己写控件还是很方便的。
Game_over | 园豆:260 (菜鸟二级) | 2007-12-27 22:57
0
能确定中文"已完成,未完成",建议使用数据字典操作.在后台处理数字/文本的转换.还有可以直接绑上DropDowlist操作.但是感觉不太好.
中尉 | 园豆:252 (菜鸟二级) | 2007-12-28 09:44
0
我一般用一个隐藏列来解决这种问题。
大石头 | 园豆:110 (初学一级) | 2007-12-29 20:36
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册