如何在 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

drupal - 如何在视图模块中为每种网格格式添加自定义 CSS?

将数据网格视图行添加到 vb.net 中的 sql 表

如何使用动态 WHERE 子句将网格视图绑定到数据源?