动态更改gridview数据源

时间:2014-06-25 14:01:04

标签: c# winforms

我有两个DataTable,我想用DataSoure作为GridView。当用户点击button1我需要加载第一个表并且用户点击button2时,应该加载第二个表。我当前的问题是这些表没有相同的结构(一个有更多的列),当用户首先点击button1并点击button2后,第二个表加载了正确的值,但它显示来自table1的额外列。

解决这个问题的最简单方法是什么?

2 个答案:

答案 0 :(得分:0)

而不是手动添加列,将属性DataGridView.AutoGenerateColumns设置为true。这将导致网格根据数据源创建列。

答案 1 :(得分:0)

在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();
}