我建议您使用列表视图进行此类额外的自定义。
而且您的标题要求看起来与数据库表中的标题完全不同。因此,gridview(或更好的 listview)可以呈现重复的数据行。
但是那个标题部分?这根本不是列的数据库标题 - 甚至没有关闭。
这表明顶部不能真的是列表视图/网格视图的标题。
但是,我确实建议这里的 listview 会比 gridview 好得多。原因是数据行,标题部分可以用listview标记。
在 gridivew 中,您甚至可以将顶部布局到 lv 之外,然后考虑是否值得努力将该布局移到 lv 中,或者将其留在顶部。
所以,我将顶部部分布局为标准网页布局,就像您希望在该页面上拥有的任何其他内容一样。
然后在下面,您可以对重复的数据行使用列表视图/网格视图。
然后您可以将您在顶部单独布置的内容放入列表视图中,但这可能不值得麻烦。
考虑到顶部的布局 - 我倾向于单独构建的想法。也不清楚数据源对此的规范化程度,以及涉及多少表。因此,这里有大量问题和详细信息,相当于 50 页以上的问题。
但是,对于如此高度的自定义,列表视图将是更好的选择。因此,我会花一些时间在谷歌上搜索 asp.net 的列表视图示例。
但是,顶部部分最好作为单独的部分,并由您创建任务。 (所以它实际上是一种表单类型的布局,而不是一些“重复”的行数据集)。
但是,对于底部重复的数据行呢? Listview 或网格视图就足够了。但顶部不是任何类型的基于列名的经典数据库标题,下面是重复的简单数据行。这将只是纯 HTML 布局,您必须像布局任何其他网页一样这样做。
你甚至可以只为那部分使用一个普通的简 HTML 表格。
注意 listview 如何在标题布局中允许这样做:
<LayoutTemplate>
<h2>My Cooling heading area layout</h2>
<div style="width:140px;border:solid;background-color:aquamarine;float:left">
Holiday description
<asp:TextBox ID="TextBox1" runat="server" BackColor="Transparent"></asp:TextBox>
</div>
<div style="width:140px;border:solid;background-color:aquamarine;float:left">
Holiday description
<asp:TextBox ID="TextBox2" runat="server" BackColor="Transparent"></asp:TextBox>
</div>
<div style="clear:both"></div>"
<table id="itemPlaceholderContainer" runat="server" border="0" style="">
<tr runat="server" style="">
<th runat="server">FirstName</th>
<th runat="server">LastName</th>
<th runat="server">City</th>
<th runat="server">Active</th>
所以,我们看到了:
如果我运行上面的,我们得到这个:
因此您可以使用任何您想要的标记来布局标题部分。
但下面是重复行的表格布局。
所以你可以为重复的行(简单)布局几乎所有的 HTML 标记,然后布局标题部分(困难),但至少使用列表视图可以做到这一点。所以,listview 比 gridiew 有更多的配置和布局能力。
对于简单的数据网格? Gridview 很棒。
对于更复杂但更多的工作?然后使用列表视图。