1

嘿伙计们,我需要一个按钮来在数据网格视图中显示某个数据库。有没有可能它可以在同一个表格上提出而不是指向一个新的表格?

这是我到目前为止所做的。

我创建了一个带有 3 个按钮的表单 - button1、button2、button3。

我有三个数据库,并为每个数据库创建了数据集——让我们称它们为 datasat1、dataset2 和 dataset3。

现在我知道我可以将数据集拖到数据网格视图中的页面上。但我不想在页面上只有一个。我希望它根据单击的按钮更改和显示数据集。所以button1,点击时必须显示dataset1,以此类推。

对此很新,对不起。

哦,这就是我迄今为止想出的(尽管我认为这可能是非常错误的)

    private void button1_Click(object sender, EventArgs e)
    {
        this.database1DataGridView.Visible = true;
    }

    private void button2_Click(object sender, EventArgs e)
    {
        this.database2DataGridView.Visible = true;
    }

    private void button3_Click(object sender, EventArgs e)
    {
        this.database3DataGridView.Visible = true;
    }        

每个 dataviewgrid 的原始可见性设置为 false

4

2 回答 2

0

在按钮单击处理程序中更改“DataGridView”的“DataSource”

button1.Click += button1_Click    

void (object sender, EventArgs e)
{
    _yourDataGridView.DataSource = dataset1;
    _yourDataGridView.DataMember = "TableName"; // table you want to show
}   

http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.datasource.aspx

于 2013-06-25T06:19:19.383 回答
0

也许您可以尝试在按钮单击事件中将数据集绑定到 gridview 数据源,就像 Guru Stron 所说的那样......

像这样的东西:

protected void Button1_Click(object sender, EventArgs e)
{
    using (DataTable dt1 = getDataTable1())
    {
        using (DataSet ds1 = new DataSet())
        {
            ds1.Tables.Add(dt1);
            YourDataGridView.DataSourceID = null;
            YourDataGridView.DataSource = ds1.Tables[0].DefaultView;
            YourDataGridView.DataBind();
        }
    }
}

或者,如果您可以稍微修改一下代码:

private void button1_Click(object sender, EventArgs e)
{
    database1DataGridView.Visible = true;
    database2DataGridView.Visible = false;
    database3DataGridView.Visible = false;
}

private void button2_Click(object sender, EventArgs e)
{
    database2DataGridView.Visible = true;
    database1DataGridView.Visible = false;
    database3DataGridView.Visible = false;
}

private void button3_Click(object sender, EventArgs e)
{
    database3DataGridView.Visible = true;
    database1DataGridView.Visible = false;
    database2DataGridView.Visible = false;
} 

希望能帮助到你。

于 2013-06-25T07:39:49.163 回答