Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在运行时持久化/存储值_C#_.net_Arrays_Data Structures_Multidimensional Array - Fatal编程技术网

C# 如何在运行时持久化/存储值

C# 如何在运行时持久化/存储值,c#,.net,arrays,data-structures,multidimensional-array,C#,.net,Arrays,Data Structures,Multidimensional Array,我有一个场景如下:- 包含两个网格的表格。左侧的网格包含组列表。选择组后,右侧的网格将填充另一个带有复选框的列表 我希望能够选择A组并选择一些随机复选框,然后切换到B组并选择一些其他复选框。但是,当我再次选择组A时,我希望能够恢复以前选中的复选框 这将允许我从数据库中预加载设置,并一次性更新更改,而不是期望用户在每个组的更改后选择apply 我不确定解决这个问题的最佳方法。任何反馈都将不胜感激 谢谢 肖恩。首先,我要创建一个数据库表来存储数据,比如说MyTable(UserId、GroupId、

我有一个场景如下:-

包含两个网格的表格。左侧的网格包含组列表。选择组后,右侧的网格将填充另一个带有复选框的列表

我希望能够选择A组并选择一些随机复选框,然后切换到B组并选择一些其他复选框。但是,当我再次选择组A时,我希望能够恢复以前选中的复选框

这将允许我从数据库中预加载设置,并一次性更新更改,而不是期望用户在每个组的更改后选择apply

我不确定解决这个问题的最佳方法。任何反馈都将不胜感激

谢谢


肖恩。

首先,我要创建一个数据库表来存储数据,比如说MyTable(UserId、GroupId、ItemId、Selected)。当应用程序启动时,我会根据用户ID从表中读取数据。我会将这些数据处理成几个集合,这些集合可以与网格相关联——一个集合具有唯一的组,另一个集合与组和选择状态相关联。设置一些事件处理程序,使集合与用户输入保持同步。在按下按钮或窗体关闭时执行一些保存例程,您应该很好

我使用DataTables和DataView实现了客户端过滤。 您有一个带有勾选框的dataTable,其中包含所有数据组。 然后,当您单击网格1时,您将网格的数据源更新为一个新的DataView(DataTable,“GroupID=1”) ,“”,CurrentRows)(即,设置要对选定组进行筛选的数据视图的筛选器属性 完成后,DataTable中有所有的勾选框,您可以将DataTable添加到数据库中


希望这是有意义的。

如何将数据持久化到数据库中?我希望这样做的方式是,用户可以一次性对网格进行所有必需的更改,并在完成后按“应用”按钮。我将获取已进行更改的列表,并使用sql将更改保存到数据库中。当前填充网格的数据从数据库中提取并存储在数据表中。