2013-12-17 20 views
1

我試圖做一個GridView填充像下面的圖片:數據使用多個列的GridView

enter image description here

這是我的GridView目前的樣子。

enter image description here

代碼:

<asp:GridView runat="server" ID="GridView1" CssClass="wiretable" AutoGenerateColumns="False" 
    BorderColor="#E8CC6B" BorderStyle="Solid" BorderWidth="1px" 
    Width="100%" ShowFooter="False" OnRowDataBound="GridView1_RowDataBound"> 
    <Columns> 
     <asp:BoundField DataField="Name" HeaderText="Attendees" /> 
    </Columns> 
</asp:GridView> 
+1

舊帖子,但看看是否有幫助:[在Asp.net GridView中顯示多行中的行](http://stackoverflow.com/questions/19790/display-rows-in-multiple-columns-in-asp -net-GridView控件) –

回答

1

既然你想有一個表結構,那麼我會建議使用一箇中繼器,而不是一格,以獲得輸出更好的控制,就像這樣:

標記:

<asp:Repeater ID="Repeater1" runat="server"> 
    <HeaderTemplate> 
     <table> 
      <tr> 
       <th colspan="2">Attendees</th> 
      <tr> 
      <tr>  
    </HeaderTemplate> 
    <ItemTemplate> 
     <%# (Container.ItemIndex != 0 && Container.ItemIndex % 2 == 0) ? @"</tr><tr>" : string.Empty %> 
     <%# string.Format("{0}{1}{2}", @"<td>", Container.DataItem, @"</td>") %> 
    </ItemTemplate> 
    <FooterTemplate> 
      </tr> 
     </table> 
    </FooterTemplate> 
</asp:Repeater> 

代碼隱藏:

protected void Page_Load(object sender, EventArgs e) 
{ 
    // Only bind repeater initially, not every post back 
    if (!IsPostBack) 
    { 
     Repeater1.DataSource = GetDataFromDatabase(); 
     Repeater1.DataBind(); 
    } 
} 

注意:您可以將任何必要的CSS表頭,行和單元格,以使它看起來像你想要的。

0

尋找:

<HeaderTemplate> 
    <table> 
     <tr> 
      <th colspan="2">Attendees</th> 
     <tr> 
     <tr>  
</HeaderTemplate> 

所以HeaderTemplate中標籤的屬性。

相關問題