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

C#数据库一个问题,菜鸟求助!
本帖最后由 wenjiahezmt 于 2013-02-24 23:21:02 编辑
我以前用过powerbuilder,习惯了数据窗口。 
最近用C#发现功能也很强大,datatable我也搞明白了,主要是用户界面数据交互的地方有几个问题看了很多资料得不到答案。 
数据从数据库读出之后放在datatable中,一般有2大类操作: 
1)显示和修改。要么把这个datatable的每个字段和form上一个个控件绑定,要么是把整个datatable绑定到DataGrideview控件,对吗?DataGrideview控件显示太死板,如果采用第一个方案,我如何控制记录的翻动呢?我现在的做法是在“下一条”按钮的代码里,取得datatable里对应记录值赋给相关字段对应的控件,实现翻动效果,我总觉得这样不对,但是不知如何弄。如果用户改动了数据,更是棘手,在切换记录的时候需要判断界面数据有没有改动,如果有还要更新到datatable中去,特别麻烦。 
2)新增和删除的问题和上面差不多,主要是问题是界面显示数据和datatable数据之间的交互让我凌乱。 
  
我希望 我直接代码操作datatable,然后在界面上就有体现;而用户界面上数据的改动,就直接改动到datatable里, 这样我的操作就简单很多了. 
希望有好心人指点一下,叩谢! 
C#?database 数据库

------解决方案--------------------
你用用SPSS或者Excel没准会发现它们更加强大。你的思维方式基本是一个最终用户的思维方式,你关注界面和数据的处理,而对程序怎么运作和设计,一点没有概念。
------解决方案--------------------
用户界面上数据的改动,是直接改动到datatable里的,你测试一下,就是这样,

另一方面,如果你改变了datatable,只要重新绑定到DataGrideview,DataGrideview就会显示所做的修改,不过就是要记下当前DataGrideview的滚动位置,重新绑定后会自动跳回到第一行,你需要重新设置跳回来,
------解决方案--------------------
自己做个控件。。
把绑定数据还有反应数据变动的处理加进去。
在画面拖增加控件,绑定数据就可以了。
代码肯定要写的。
类似于datagridview吧
------解决方案--------------------
你不会给它公开个方法。你自己设置是哪一条?
或者就像翻页一样。选下一条记录。
这都是你自定义控件可控的啊。
------解决方案--------------------
楼主用的datatable,是强类型的datatable,还是弱类型的datatable。如果是强类型的话,简单的拖动控件就可以实现了,弱类型的话稍微麻烦
------解决方案--------------------
使用Bindingsource,将属性和字段做下绑定应该就是你要的结果了