如何在 VB 中格式化动态网格视图?
Posted
技术标签:
【中文标题】如何在 VB 中格式化动态网格视图?【英文标题】:How can I do format dynamic grid view in VB? 【发布时间】:2021-11-25 22:11:59 【问题描述】:我在 vb 中格式化动态网格视图时遇到问题。希望任何人都可以帮助我对此提出一些想法。
显然如图所示,红色框中将是动态子标题和动态行。这些动态项的值由用户输入定义。所以我将从数据库中检索子标题和行的值。
但是,我在将其格式化为 VB 时遇到了问题。希望你能帮助我提供一些想法。
我相信我仍然需要在标记中<asp:GridView></asp:GridView>
并在后面的代码中格式化动态。
提前致谢。
【问题讨论】:
【参考方案1】:我建议您使用列表视图进行此类额外的自定义。
而且您的标题要求看起来与数据库表中的标题完全不同。因此,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 很棒。
对于更复杂但更多的工作?然后使用列表视图。
【讨论】:
以上是关于如何在 VB 中格式化动态网格视图?的主要内容,如果未能解决你的问题,请参考以下文章
数据网格视图更新,在 vb.net windows 窗体中编辑和删除,使用多个表来填充 datagridview