2014-03-24 2 views
0

단일 gridview를 사용하여 여러 탭 (ajax tabcontainer)에 표시 할 수 있습니까? 서로 다른 데이터 소스를 다른 탭의 표에 바인딩하려고합니다. 나는 현재이 목적을 위해 3 개의 gridviews (3 탭)를 사용하고 있습니다.여러 탭의 단일 gridview

<asp:TabContainer ID="TabContainer1" runat="server" UseVerticalStripPlacement="True" AutoPostBack="true" OnActiveTabChanged="TabContainer1_ActiveTabChanged"> 
     <asp:TabPanel ID="tp1" runat="server"> 
      <HeaderTemplate> 
       Tab 1 
      </HeaderTemplate> 
      <ContentTemplate> 
       <p>test tab 1</p> 
       <asp:GridView ID="GridView1" runat="server" Width="100%" 
        ViewStateMode="Enabled" OnRowEditing="GridView1_RowEditing"> 
        <Columns> 
         <asp:CommandField ShowDeleteButton="True" ShowEditButton="True" /> 
        </Columns> 
       </asp:GridView> 
      </ContentTemplate> 
     </asp:TabPanel> 
     <asp:TabPanel ID="tp2" runat="server"> 
      <HeaderTemplate> 
       Tab 2 
      </HeaderTemplate> 
      <ContentTemplate> 
       <p>test tab 2</p> 
       <asp:GridView ID="GridView2" runat="server" AutoGenerateColumns="True" Width="100%" 
        ViewStateMode="Enabled"> 
       </asp:GridView> 
      </ContentTemplate> 
     </asp:TabPanel> 
     <asp:TabPanel ID="tp3" runat="server"> 
      <HeaderTemplate> 
       Tab 3 
      </HeaderTemplate> 
      <ContentTemplate> 
       <p>test tab 3</p> 
       <asp:GridView ID="GridView3" runat="server" AutoGenerateColumns="True" Width="100%" 
        ViewStateMode="Enabled"> 
       </asp:GridView> 
      </ContentTemplate> 
     </asp:TabPanel> 
    </asp:TabContainer> 

코드 숨김

protected void TabContainer1_ActiveTabChanged(object sender, EventArgs e) 
{ 

    try 
    { 
     if (TabContainer1.ActiveTabIndex == 0) 
     { 

      //bind datasource 1; 

     } 
     if (TabContainer1.ActiveTabIndex == 0) 
     { 

      //bind datasource 2; 

     } 
    }etc. 

답변

0

탭 패널 2

tp2.Controls.Add(GridView1); 

일반적인 형태

<TabPanelID>.Controls.Add(<GridviewID>); 
을 gridview1을 도시
관련 문제