2013-04-25 69 views
0

我正在使用一個datagrid,我想要在下一行或下一行顯示我的最後一列,並且網格中的下一行將向下移動。在下一行顯示ASP DataGrid(不是gridview)的最後一列

姓名年齡性別主題


蘋果24男英語,學數學,地理

楠29女性英語,學數學,地理

我要顯示這樣的:

姓名年齡性別


蘋果24男
英語,學數學,地理

楠29女性
英語,學數學,地理提前

回答

1

謝謝如果你沒有結婚到DataGrid然後我會建議查看中繼器控件或ListView控件。它會給你更多的自由,並且以後會更容易理解

如果由於某種原因,你必須使用DataGrid這種方式,但它非常非常黑,它會很難受到你在一兩個禮拜後​​就會看到這個,一般來說這不是一個好主意,但它會實現你的目標。

<asp:DataGrid ID="dg" ShowHeader="false" runat="server" 
    AutoGenerateColumns="false"> 
    <Columns> 
     <asp:BoundColumn DataField="Name"></asp:BoundColumn> 
     <asp:BoundColumn DataField="Age"></asp:BoundColumn> 
     <asp:TemplateColumn> 
      <ItemTemplate> 
       <%# Eval("Sex") %></td> 
       </tr> 
       <tr> 
        <td colspan="3"> 
       <%# Eval("Courses") %> 
      </ItemTemplate> 
     </asp:TemplateColumn> 
    </Columns> 
</asp:DataGrid> 

在最後一列中顯示該列的值,然後關閉控件創建的td和tr。然後,您將創建一個新的tr和td,其中的colspan等於列數並放入課程值,然後讓控件關閉這些trs和tds。

我強烈建議您爲此使用中繼器或listview。它會讓你的生活變得更輕鬆。

+0

我試過這種方式,但我無法隱藏最後一列的標題。如果我隱藏數據網格中的最後一列,那麼它將隱藏下一行中最後一列的文本。如果我刪除了最後一列的HeaderText,它仍然顯示右邊的空列,看起來很醜。另外,如果最後一列中沒有數據,它仍會顯示空行。 – user2318300 2013-04-25 19:34:11

+0

如果你有一個額外的列被顯示,那麼你必須創建許多列。你想要n-1列。如果您不希望顯示標題,請在DataGrid上將ShowHeader設置爲false。更新的代碼不顯示標題 – gorrilla10101 2013-04-26 02:45:32

+0

中繼器控制建議可能是最好的選擇,因爲它可以讓您完全控制輸出。這可以讓你獲得最佳的期望結果。 – 2018-01-08 22:53:54

相關問題