我需要简单的方法在我的应用程序中保留和编辑一组字符串。我相信DataGridView有两个小窍门可以帮助我查看和编辑,并且我希望使用应用程序设置而不是数据库来存储数据(可能是DataSet作为设置类型)。我不能把所有这些放在一起。有没有办法?使用DataGridView进行本地设置
1
A
回答
2
下面是我做到的。 MyMap类保存值对。它们必须是属性,因为DatGridView不适用于字段。 MyMapCollection将MyMaps的集合保存为BindingList(允许在DataGridView中添加行)。这个类是需要使Visual Studio设置编辑器开心的,不能使它与纯粹的BindingList一起工作。所以:
public class MyMap {
public String FirstField { get; set; }
public String SecondField { get; set; }
}
public class MyMapCollection : BindingList<MyMap>
{
public MyMapCollection Clone()
{
MyMapCollection result = new MyMapCollection();
foreach (MyMap map in this)
result.Add(new MyMap() {
FirstField = map.FirstField, SecondField = map.SecondField });
return result;
}
}
功能克隆创建对象的深层副本,所以数据不会在Settings.Default对象上直接更改,但是当用户是这么说的。在设置编辑器将添加型MyMapCollection的项目,叫说TheValues,并在代码中使用非常简单的:
myDataGridView.DataSource = Settings.Default.TheValues.Clone();
如果数据应被改回设置(用户点击OK时),然后相应地更改设置:
Settings.Default.TheValues = (MyMapCollection)myDataGridView.DataSource;
使用数据表或数据集,而不是MyMapCollection也是可能的,但这种方法可以让我的代码,这是更甜蜜比数据集可能是其他地区使用TheValues。
0
如果您尝试编辑的值是纯键值对,则可以创建一个将这些值保存为属性的类,并将此类对象序列化为XML文件。您可以反序列化该类并将值分配给DataGridView。
您也可以创建自定义配置并将其与App.config/Web.config文件分开存储。这将与NHibernate或spring.Net配置文件在configsections项中存储的引用相似。
这里是一个链接如何创建自己的自定义配置。 MSDN link
相关问题
- 1. LINQ - 使用分组进行投影并设置本地变量
- 2. 使用toString()进行设置
- 3. 设置DataGridView快速行高
- 4. 在本地设置中使用Spark流在本地设置中运行两个并行自定义接收器流以进行本地测试
- 5. 设置本地来对节点服务器进行ajax调用
- 6. 在应用程序设置中使用本地主机进行开发
- 7. 设置本地CICD设置
- 8. 如何在IOS10上使用UNUserNotification进行本地通知时设置徽章
- 9. 如何转换地图,树形图,使用Hashtable进行设置
- 10. 使用地图进行位置跟踪
- 11. 使用PHP设置本地服务器
- 12. 设置Git本地使用Intellij Idea 12
- 13. 使用IIS7设置本地域
- 14. 使用Fabric的INSTALLED_APPS的本地设置
- 15. 使用artifactory设置本地npm缓存
- 16. 使用DataGridView进行MySQL更新
- 17. 仅使用berks进行本地开发?
- 18. 使用SharpDevelop进行本地化
- 19. 使用UIDatepicker进行本地通知
- 20. 使用msi文件进行本地化
- 21. 使用EmberJS进行本地化
- 22. 使用HTML标签进行本地化
- 23. MySQL:使用Java进行本地连接
- 24. 使用JQuery进行本地化?
- 25. 如何使用Appcelerator进行本地化?
- 26. 使用jQuery进行属性本地化
- 27. 使用NSLocalizedString或.xib进行本地化
- 28. 使用2个xib进行本地化
- 29. 使用mysql/PHP进行本地化
- 30. 设置Apache Web服务器进行本地测试
好的,这是一种方法,但它显然涉及大量额外的编码。另一方面,在“设置”页面中,我可以将一种应用程序设置更改为System.Data.DataSet,这使我认为可以将该设置以某种方式绑定到DataGridView,并使所有内容都可以使用很少的行的代码。我只需要这些行:-) – Dialecticus 2010-08-25 17:08:13