需要一个按钮来调出某些datagridview

时间:2013-06-25 06:11:57

标签: c# winforms datagridview dataset

嘿伙计我需要一个按钮来在数据网格视图中显示某个数据库。它是否有可能在相同的表格中提出并且不会被引导到新形式?

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

我创建了一个包含3个按钮的表单 - button1,button2,button3。

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

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

很新,对不起。

OH,这是我到目前为止设法提出的(虽然我认为这可能是非常错误的)

    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

2 个答案:

答案 0 :(得分:0)

更改' DataSource'你的DataGridView'在按钮单击处理程序

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

答案 1 :(得分: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;
} 

希望它有所帮助。