这种情况数据如何绑定数据到DataGridView?

leon51 2019-10-10 08:33:53
今天思绪特别乱,毫无头绪,我要做一个工具:
首先需要通过API从某个软件(不是数据库)中获取数据,填充在DataGridView中,
然后由用户在DataGridView编辑(新增、删除行或编辑单元格)
....
最后将用户编辑结果按照相同的Name保存到该软件中(每一行都有一个Name)。

之前我一般通过DataTable或泛型集合绑定到DataGridView的DataSource,这样查询排序分组会非常方便,处理后再重新绑定即可。

此工具对时效要求较高,只能将修改过的单元格进行保存以此来节省时间。
列的类型有DataGridViewTextBoxColumn和DataGridViewComboBoxColumn。
DataGridView的外面有一个Name下拉列表以便用户选择是显示所有的行还是指定Name的行。

基于上述考虑,现在的做法是将数据按dgv.Rows.Add(p.Name,p.Size...)这样逐行加上去的, 每一个修改过的单元格Tag做上标记,保存时只对这部分单元格进行处理。可是这样如果用户按Name过滤了行是否就行不通了?只能隐藏行来实现??

请问大家若遇到这种情况数据如何填充/绑定到DataGridView来更好的满足以上需求,如何识别修改了的单元格数据?
...全文
58 点赞 收藏 6
写回复
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
leon51 2019-10-11
引用 5 楼 正怒月神 的回复:
你对数据源datasource进行增删改查的标记, 无论你隐藏还是现实。数据源是不会变的。。。。
谢谢你的回复,我突然顿悟了,将原始数据做两份,一份用来保存修改的结果,另一份不动。保存时比较每一个值就可以了
回复
正怒月神 2019-10-11
你对数据源datasource进行增删改查的标记, 无论你隐藏还是现实。数据源是不会变的。。。。
回复
leon51 2019-10-11
判断是否更改这个没有困难, 我是想在dgv中操作,最后保存时将整个更改的内容保存。由于用户可能新增或删除行,数据如何绑定到dgv才合理? 换句话说,我是想在内存中操作,dgv只是做为一个显示界面。这样是否可行?有没有好的办法?
回复
Bridge_go 2019-10-11
CellValueChanged也行
回复
Bridge_go 2019-10-11
用DataGridView的CellBeginEdit事件和CellEndEdit事件来判断有没有修改
回复
优质回答:我不知道。
回复
发动态
发帖子
C#
创建于2007-09-28

10.4w+

社区成员

.NET技术 C#
申请成为版主
社区公告

全世界最好的语言,没有之一.