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

相关问题