2012-03-26 2 views
1

В моем заголовке веб-страницы есть несколько кнопок. Я хочу щелкнуть каждую кнопку, чтобы отобразить нужную таблицу в gridview.Заполните различные сетки, нажав другую кнопку

нажмите button1 Показать таблицу в GridView 1.

нажмите button2 Показать таблицы в GridView 2, Gridview 1 исчез.

Заголовок и кнопки сохраняются на странице. Я не хочу перенаправлять текущую страницу на разные страницы. Я хочу реализовать эту функцию только на одной веб-странице.

+0

Делитесь ли вы источник данных между обоими GridViews? можете ли вы опубликовать свой код, который вы пробовали? – Seany84

+0

Нет. Я пытался использовать MultiView, но я не мог разместить gridview внутри элемента управления MultiView. –

+0

Как насчет четырех ответов ниже? – Seany84

ответ

0

ASPX

<div> 
     <asp:GridView ID="GridView1" runat="server"> 
     </asp:GridView> 
     <asp:GridView ID="GridView2" runat="server"> 
     </asp:GridView> 
     <asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" /> 
     <asp:Button ID="Button2" runat="server" Text="Button" onclick="Button2_Click" /> 
    </div> 

C#

protected void Button1_Click(object sender, EventArgs e) 
{ 
    GridView1.Visible = true; 
    GridView2.Visible = !GridView1.Visible; 
    GridView1.DataBind(); 
} 

protected void Button2_Click(object sender, EventArgs e) 
{ 
    GridView1.Visible = false; 
    GridView2.Visible = !GridView1.Visible; 
    GridView2.DataBind(); 
} 

Возможно, вам потребуется передать вызов .DataBind() в зависимости от того, как вы привязываете свои данные к gridviews.

0

C#

buttin1_Onclick(object sender, EventArgs e) 
{ gridview1.visible = true; gridview1.DataBind(); gridview2.visible = false;} 

buttin2_Onclick(object sender, EventArgs e) 
{ gridview2.visible = true; gridview2.DataBind(); gridview1.visible = false;} 

или

buttin1_Onclick(object sender, EventArgs e) 
{ gridview1.DataBind(); gridview2.Rows.Clear();} 

buttin2_Onclick(object sender, EventArgs e) 
{ gridview2.DataBind(); gridview1.Rows.Clear();} 
0

При каждом нажатии кнопки просто привяжите GridView по мере необходимости. Например:

Button1 щелкнул сделать:

protected void Button1_OnClick(object sender, EventArgs e) 
{ 
    grdYourGrid1.DataSource = yourDataSource; 
    grdYourGrid1.DataBind(); 
    grdYourGrid1.Visible = true; 

    grdYourGrid2.DataSource = null; 
    grdYourGrid2.DataBind(); 
    grdYourGrid2.Visible = false; 
} 

Тогда сделайте обратное для Button2. Я предлагаю восстановить и обнулить невидимую сетку, так что ViewState не раздувается, когда это не требуется.

0

Вы можете поместить это в Page_Load

button1.Click+=(s,ev)=> 
    { 
     gridview1.visible = true; 
     gridview1.DataBind(); 
    }; 
button2.Click+=(s,ev)=> 
    { 
     gridview2.DataBind(); 
     gridview1.visible = false; 
    }; 
Смежные вопросы