关于datagrid,怎么实现只更新其中的一行。

时间:2022-07-05 15:03:31
winform,一个datagrid(显示用户记录),一个checkedlistbox(显示权限),用于权限管理,datagrid中选中的记录不同,则checkedlistbox中被选择的项目 也不同,管理员可以修改checkedlistbox列表,

20 个解决方案

#1


这么长时间怎么没一个人回复啊

#2


winform不太懂  帮顶

#3


感谢 感谢 能解决更好呀

#4


csdn上高人这么多,都解决不了这个问题吗?

#5


看不懂你的问题,描述不清.

#6


不就是两个控件的联动嘛,
在datagrid的currentCellChanged事件里将当前选中的数据取出来,做为checkedlistbox显示数据的filter条件不就可以了.

#7


鉴于网友  看不懂,描述不清.特作如下描述。

winform,用于管理用户的权限。一个datagrid(显示用户记录),一个checkedlistbox(显示选中用户的权限),选中datagrid中的不同用户时,则checkedlistbox中被选择的权限也不同,管理员可以修改checkedlistbox列表(即用户权限),并保存,但是怎么保存用户权限啊,用户的权限是根据checkedlistbox中选择的项目不同来表示的。

#8


To:  whyxx(java?.net?我们要学会用两条腿走路)
我已经实现了联动,现在是假如我想修改,应该怎么把该用户的权限保存下来。

#9


迭代DataGrid中的DataGridItem中的CheckBox,看是否选中

#10


还是不明白

#11


继续 顶,不能帮助解决问题   帮助UP 也有分的。

#12


DataSet ds = new DataSet();
ds.AcceptChange() ;
是需要这个吗??

#13


不是的

#14


checkedlistbox和datagrid是什么关系,checkedlistbox只有一个,对于每个用户显示不同,还是每个用户都有一个。

#15


这样的,窗口只有一个checkedlistbo 控件,不是每个用户一个控件。只是对于每个用户,checkedlistbox 显示不同而已。

#16


接着顶一把,今天怎么地也得把问题搞定

#17


是我表述的不清楚,还是问题简单大家不屑回答呢。

#18


如果权限是保存到数据库表里面,直接操作数据库就可以;
否则你可以保存到一个DataTable或者HashTable里面,根据需要改变,

#19


鉴于网友  看不懂,描述不清.特作如下描述。

winform,用于管理用户的权限。一个datagrid(显示用户记录),一个checkedlistbox(显示选中用户的权限),选中datagrid中的不同用户时,则checkedlistbox中被选择的权限也不同,管理员可以修改checkedlistbox列表(即用户权限),并保存,但是怎么保存用户权限啊,用户的权限是根据checkedlistbox中选择的项目不同来表示的。
-------------------------------------------------------------------------------------

保存为以下的格式:
one|two|tree|,以|作为分隔符,你也可以用你认为你方便又有意义的符号做为权限的分隔符,
也就是每在checkedListBox中选择一项,在权限的后面就添加。用IndexOf()查找,如果原来已有该权限就不添加。
事实上这种方式不太好,还是以用户等级的形式来管理更容易统一管理。

#20


在查找的时候直接在DataSet中查找,就不要再查询数据库了。

#1


这么长时间怎么没一个人回复啊

#2


winform不太懂  帮顶

#3


感谢 感谢 能解决更好呀

#4


csdn上高人这么多,都解决不了这个问题吗?

#5


看不懂你的问题,描述不清.

#6


不就是两个控件的联动嘛,
在datagrid的currentCellChanged事件里将当前选中的数据取出来,做为checkedlistbox显示数据的filter条件不就可以了.

#7


鉴于网友  看不懂,描述不清.特作如下描述。

winform,用于管理用户的权限。一个datagrid(显示用户记录),一个checkedlistbox(显示选中用户的权限),选中datagrid中的不同用户时,则checkedlistbox中被选择的权限也不同,管理员可以修改checkedlistbox列表(即用户权限),并保存,但是怎么保存用户权限啊,用户的权限是根据checkedlistbox中选择的项目不同来表示的。

#8


To:  whyxx(java?.net?我们要学会用两条腿走路)
我已经实现了联动,现在是假如我想修改,应该怎么把该用户的权限保存下来。

#9


迭代DataGrid中的DataGridItem中的CheckBox,看是否选中

#10


还是不明白

#11


继续 顶,不能帮助解决问题   帮助UP 也有分的。

#12


DataSet ds = new DataSet();
ds.AcceptChange() ;
是需要这个吗??

#13


不是的

#14


checkedlistbox和datagrid是什么关系,checkedlistbox只有一个,对于每个用户显示不同,还是每个用户都有一个。

#15


这样的,窗口只有一个checkedlistbo 控件,不是每个用户一个控件。只是对于每个用户,checkedlistbox 显示不同而已。

#16


接着顶一把,今天怎么地也得把问题搞定

#17


是我表述的不清楚,还是问题简单大家不屑回答呢。

#18


如果权限是保存到数据库表里面,直接操作数据库就可以;
否则你可以保存到一个DataTable或者HashTable里面,根据需要改变,

#19


鉴于网友  看不懂,描述不清.特作如下描述。

winform,用于管理用户的权限。一个datagrid(显示用户记录),一个checkedlistbox(显示选中用户的权限),选中datagrid中的不同用户时,则checkedlistbox中被选择的权限也不同,管理员可以修改checkedlistbox列表(即用户权限),并保存,但是怎么保存用户权限啊,用户的权限是根据checkedlistbox中选择的项目不同来表示的。
-------------------------------------------------------------------------------------

保存为以下的格式:
one|two|tree|,以|作为分隔符,你也可以用你认为你方便又有意义的符号做为权限的分隔符,
也就是每在checkedListBox中选择一项,在权限的后面就添加。用IndexOf()查找,如果原来已有该权限就不添加。
事实上这种方式不太好,还是以用户等级的形式来管理更容易统一管理。

#20


在查找的时候直接在DataSet中查找,就不要再查询数据库了。

#21