问题描述
我已经在设计器视图中创建了一个datagridview,并向其中添加了列。我的问题是如何从DataTable对象访问这些列,而不是再次手动将列添加到Datatable(重新使用从Datatable的datagridview添加的列)。这是到目前为止所做的
void loadData()
{
dt = new DataTable();
dt.Rows.Add(new object[] { "Argentina",2000 });
dt.Rows.Add(new object[] { "Belgium",4500 });
dataGridView1.DataSource = dt;
}
我需要使用BindingSource类来过滤数据,我不知道我还能怎么做,这样我就可以从设计器中添加列并能够过滤datagrid。 this是我先前发布的帖子,以获取有关如何过滤datagridview的帮助,但解决方案似乎是必须使用数据源绑定数据。我需要保持适用于设计器上datagridview列的样式和格式
解决方法
由于您是手动添加数据,因此无需使用将它们添加到数据表然后将其设置为数据源的方式;
void loadData(){
dataGridView1.Rows.Add(new object[] { "Argentina",2000 });
dataGridView1.Rows.Add(new object[] { "Belgium",4500 });
}
这是,对象数组的顺序必须与datagridview中列的顺序匹配。
关于过滤的问题,问题是您没有提供数据的实际来源,通常您希望在检索数据时对数据进行过滤。如果万一手动添加了数据,那么您就可以循环遍历datagridview并检查您的过滤器,尽管这样做实际上并没有利用datagridview的数据绑定功能。