我想DataGridView
基本上用作花式列表控件,其中某些列使用复选框,而另一些则允许从可能值的下拉列表中选择一个值。
我想从注册表项值中填充视图,例如,用户选择注册表项,然后使用该项中的值按照某些定制逻辑将行添加到视图中。当用户更改单元格中的值时,这些值将导致注册表被更新。
我认为,此处最好的方法是无限制的方法(无数据集),手动添加行并向每个单元格添加变化事件处理程序。但是我想检查一下这是否有意义,并且我并不想将我的C ++观点强加到更复杂的.NET数据绑定方法上-我是否以合理的方式这样做?
您应该知道DataGridView
可以List
很好地与您的业务对象绑定,DataSet
并且DataTable
在所有情况下都不需要。
因此,您可以在不使用DataSet
和的情况下使用带约束或不带约束的解决方案DataTable
。
它足以创建一个类为您的数据的模型,你要显示的DataGridView
,然后你的数据形状上List<YourModelClass>
,然后设置结果列表它DataSource
的DataGridView
,或者干脆每个项目添加到Rows
收藏DataGridView
。
我建议使用数据绑定方法:
DataGridView
模型中读取数据。作为一个简单的例子:
定义模型:
public class MyModel
{
public string Property1 { get; set; }
public int Property2 { get; set; }
public bool Property3 { get; set; }
}
提供数据并绑定数据:
private void Form_Load(object sender, EventArgs e)
{
var list = new List<MyModel>();
list.Add(new MyModel() { Property1 = "Value 1", Property2 = 1, Property3 = false });
list.Add(new MyModel() { Property1 = "Value 2", Property2 = 2, Property3 = true });
list.Add(new MyModel() { Property1 = "Value 3", Property2 = 3, Property3 = true });
this.dataGridView1.DataSource = list;
}
并运行程序:
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句