C# 更改网格视图';动态更新数据源
我有两个C# 更改网格视图';动态更新数据源,c#,winforms,C#,Winforms,我有两个DataTable,我想用作GridView的datasource。当用户单击按钮1时,我需要加载第一个表,而用户单击按钮2则应加载第二个表。我目前的问题是,这些表没有相同的结构(一个表有更多的列),当用户首先单击button1并在单击button2后,第二个表加载了正确的值,但它也显示了table1中的额外列 解决此问题的最简单方法是什么?不要手动添加列,而是将属性设置为true。这将导致网格根据数据源创建列 要在Habib答案上展开一点: private void LoadTable
DataTable
,我想用作GridView
的datasource
。当用户单击按钮1
时,我需要加载第一个表,而用户单击按钮2
则应加载第二个表。我目前的问题是,这些表没有相同的结构(一个表有更多的列),当用户首先单击button1
并在单击button2
后,第二个表加载了正确的值,但它也显示了table1
中的额外列
解决此问题的最简单方法是什么?不要手动添加列,而是将属性设置为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();
}
如果是WinForms,则它将是DataGridView,而不是GridView,它是与WPF不同的控件。请对这些东西要精确,否则你会弄错的!如果DataGridView.AutoGenerateColumns
的结果足够好,那么就完成了。如果没有,你就必须编写你需要的代码。