一个GridView,两个DataSource

时间:2016-05-18 21:33:22

标签: c# asp.net ado.net datasource

所以,我有一个GridView和2个DataSources使用" wizard" (GridViewTasks - > NewDataSource)

我的页面上有一个CheckBox ...当checked = true时我想将GridSource1用于我的GridView,当check = false时,DataSource2。

我尝试在我的代码隐藏中添加CheckBox_CheckedChanged事件:

Func

但这不起作用。 有什么建议?

我知道我可以进入我的代码隐藏并完成所有操作"手动" (SqlDataConnection-> DataAdapter-> DataTable-> GridViewDataSource)但是有一种方法,当您使用GridView向导创建DataSource时,在CheckBox或ButtonClick事件上更改您的GridView的数据源?

由于

最佳

ķ

2 个答案:

答案 0 :(得分:0)

我曾经使用过这种技术;不要分配DatasourceID,然后在page_init中设置初始数据加载,然后执行:

   protected void CheckBox_CheckedChanged(object sender, EventArgs e)
{
    if (CheckBox.Checked == true)
    {
        gvPredbiljezbe.DataSourceID = dsGridView1.ID;
        gvPredbiljezbe.DataBind();
    }

    else
    {
        gvPredbiljezbe.DataSourceID = dsGridView2.ID;
        gvPredbiljezbe.DataBind();

    }
}

这样的事情;交换数据源的ID没有问题(有一段时间,所以我认为你使用ID,而不是ClientID属性)。

答案 1 :(得分:0)

确保为您的复选框设置AutoPostBack =“true”。

protected void CheckBox1_CheckedChanged(object sender, EventArgs e)
{
     CheckBox checkbox = (CheckBox)sender;

     if (checkbox != null)
         gvPredbiljezbe.DataSourceID = checkbox.Checked ? dsGridView1.ID : dsGridView2.ID;
}