动态更改gridview's数据源
本文关键字:数据源 gridview 动态 | 更新日期: 2023-09-27 18:10:10
我有两个DataTable
,我想用它们作为GridView
的DataSoure
。当用户单击button1
时,我需要加载第一个表,用户单击button2
时,应该加载第二个表。我目前的问题是,表没有相同的结构(一个有更多的列),当用户单击button1
和点击button2
后,第二个表加载正确的值,但它显示了table1
的额外列。
解决这个问题最简单的方法是什么?
将DataGridView.AutoGenerateColumns
属性设置为true,而不是手动添加列。这将导致网格根据数据源创建列。
对Habib的答案进行一点扩展:
private void LoadTables()
{
// Mock the tables data
DataTable dt1 = new DataTable();
DataTable dt2 = new DataTable();
// Clear data from gridview
GridView1.DataSource = null;
GridView1.DataBind();
// Load first table
GridView1.DataSource = dt1;
GridView1.DataBind();
// Clear data from gridview
GridView1.DataSource = null;
GridView1.DataBind();
// Load second table
GridView1.DataSource = dt2;
GridView1.DataBind();
}