[已解决问题] GridView和DataSoruce的问题
提问时间: 2007-12-27 10:28
悬赏分:50 浏览:994 次
我做了一个任务管理的小程序,数据库中任务状态保存为0,1;显示的时候要求是“已完成”、“未完成”。我在GridView的事件中把0改为了显示“已完成”,有一个功能是改变状态,如果从GridView得到数据就是“已完成”,还需要转换,如果能从DataSource直接得到值,就方便多了。
问题就是:从GridView怎么得到数据源,然后从数据源中得到原始数据?
提问者:姜涛 - 初学一级

问题补充:这个问题的关键是,如何从GridView对应的DataSource中取得数据,显示是很容易完成的。
实际上,是想和java的做法对比下,看看View和Model的分离在.net下是不是很容易。
大家可能没有明白我的问题重点,从0到“已完成”,我已经做完,使用的RowDataBound,现在想在改变状态按钮中,把0改变为1,但从GridView只能取到“已完成”,我想直接从gridView的数据源中取到原始数据0,不是页面输出中的“已完成”,唉,就是这个问题啦。一句话就是,.net中的view和model分离问题。

最佳答案
使用GridView的DataKeys和SelectedDataKey就可以了,将需要取值的字段名写入DataKeyNames,然后使用SelectedDataKey就能取出来了,DataKeys就是他的字典。
2007/12/28 16:41:51 回答者:.Live
其它回答(9)
你在数据绑定的时候处理一下不得了,用数据源读出来的是 0 1 ,绑定的时候用三元处理一下,就可以显示 完成/未完成了
9个月前   回答者:Wilensky - 小虾三级
使用模板列,在GridView的RowDataBound事件里可以实现 可以不使用模板列,在绑定时使用三元运算符 还可以在DataSource的Selected事件中对返回的DataTable进行处理,添加一列,把这一列绑定上去
9个月前   回答者:丁学 - 专家六级
可以写在SQL里面. 或者从DropDownList继承出来一个下拉列表,需要用到这个字段的时候就使用这个下拉列表,这样就不用每次都转换了.
9个月前   回答者:沙加 - 老鸟四级
可以在取数据时就转换过来,比如 select case YourColumn when 1 then '已完成' else '未完成' end from YourTable
9个月前   回答者:Jack Niu - 菜鸟二级
用隐藏列行不
9个月前   回答者:Anders Cui - 小虾三级
可以用隐藏列,感觉是用RowDataBound比较好啊
9个月前   回答者:BirdsHover - 菜鸟二级
不喜欢用Gridview之类的东西,感觉有的时候自己写控件还是很方便的。
9个月前   回答者:Game_over - 菜鸟二级
能确定中文"已完成,未完成",建议使用数据字典操作.在后台处理数字/文本的转换.还有可以直接绑上DropDowlist操作.但是感觉不太好.
9个月前   回答者:预备役中尉 - 菜鸟二级
我一般用一个隐藏列来解决这种问题。
9个月前   回答者:大石头 - 初学一级
评论
   您需要登录以后才能回答!
 

我要提问

我的问题


快到期问题

> 问题排行榜

相关内容

相关链接