C#winform 界面修改项问题

nicholasvb 2015-09-10 09:37:05
窗体上有很多控件, 有textbox,combobox,datetimeinput,label,等等控件
如何知道用户修改了哪个控件的数据, 以便在保存的时候只更新这个字段值,
要不然, 用户修改了一个值,得更新这个表里所有的值,这样很麻烦!
...全文
191 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
mingcsharp 2015-09-10
  • 打赏
  • 举报
回复
引用 3 楼 duanzi_peng 的回复:
算了吧,如果 它修改了 之后 又修改过来了,你还记录修改的操作么? 还是都写了吧
想想这句话,相是极有道理的
peekding 2015-09-10
  • 打赏
  • 举报
回复
在每个控件的Change事件里面写。
BenBenBears 2015-09-10
  • 打赏
  • 举报
回复
你真是这么干? 可以试试这样: 1、将控件对应的数据库字段名写入tag属性; 2、公用一个事件响应,判断传入的tag属性拼凑对应的SQL语句; 3、end。 其实一个按钮,然后一次性全部Update最简单。
小鬼当家家 2015-09-10
  • 打赏
  • 举报
回复
照你的意思就是这些控件的值都是根据某个模板设置好的。那你完全可以用一个类来保存这些值。就比如: 开始的时候根据类(A)的属性设置这些控件的值,保存的时候将控件的值与类(A)的属性的值做比较,如果不同,则更新对应的字段
ns261960314 2015-09-10
  • 打赏
  • 举报
回复
每个控件绑定databingdings,例如数据集datatable 获取修改过行、列,datatable.getchanges
於黾 2015-09-10
  • 打赏
  • 举报
回复
更新所有的值很麻烦?是机器麻烦,又不是你麻烦 无脑更新所有的才最简单 先区分出到底哪个改了,再拼接个update语句,才麻烦死了 而且效率上的差异根本可以忽略的,多通信几个字节罢了
exception92 2015-09-10
  • 打赏
  • 举报
回复
算了吧,如果 它修改了 之后 又修改过来了,你还记录修改的操作么? 还是都写了吧
nomasp 2015-09-10
  • 打赏
  • 举报
回复
每个控件都有相应的change事件,在控件被修改后自动激发,你所需要做的就是定义好这些事件。
_lee_chong 2015-09-10
  • 打赏
  • 举报
回复
每个控件都有change相关的事件,textbox有textchange combobox有selectedindexchange等等
於黾 2015-09-10
  • 打赏
  • 举报
回复
引用 3 楼 duanzi_peng 的回复:
算了吧,如果 它修改了 之后 又修改过来了,你还记录修改的操作么? 还是都写了吧
其实是可以用另一组变量先记录初始值,然后修改数据之前再挨个比较一遍看是否有不同的 而不仅仅用个bool值记录是否改过

110,566

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧