如何在Gridview中将行合并到行中
Posted
技术标签:
【中文标题】如何在Gridview中将行合并到行中【英文标题】:How to Merge row into row in Gridview 【发布时间】:2021-11-12 08:42:13 【问题描述】:我怎样才能实现这张表。
发件人:
TIME | DETAILS1 | DETAILS2 | DETAILS3 |
---|---|---|---|
8:00 | test a | test a1 | test a2 |
8:00 | test b | test b1 | test b2 |
8:00 | test c | text c1 | test c2 |
收件人:
TIME | DETAILS1 | DETAILS2 | DETAILS3 |
---|---|---|---|
8:00 | test a | test b | test c |
test a1 | test b1 | test c1 | |
test a2 | text b2 | test c2 |
【问题讨论】:
这是真实的数据吗?你真的有“test a1”作为字段值吗? 使用GridView
很难做到这一点;改用the ListView
control 可能会更好。
非规范化数据结构增加了复杂性。
如果有 4 行,那是什么?
@user8077340 如果您的问题已解决,请不要忘记将其标记为已回答。 ;)
【参考方案1】:
由于您使用的是 Microsoft Access,因此使用 SQL 更容易解决此问题,并且稍后将此查询用作 DataTable 或 ASP.NET 中类似类的数据源。
您也没有提供数据库结构,所以我认为它是一个名为 TableTime
的单个表,其中包含 ID
、Time
、Details1
、Details2
和 Details3
列。
此解决方案基本上创建了一个由Time
“分组”的排名列 (Rank
)。因此,对于每个不同的Time
,您将获得具有 1、2、3 等的相关行。而Rank
等于1的那一行就是你要显示对应时间的那一行。 Rank
大于 1 的每一行都将 Time 保持为空,从而创建您想要的效果。
您可能需要根据您的表名和列名对其进行调整,但如果您需要帮助,请分享您的表结构。
SELECT
IIf([Rank]=1,[TimeTable].[Time],"") AS MyTime,
TimeTable.Details1,
TimeTable.Details2,
TimeTable.Details3,
DCount("ID","TimeTable","Time = #" & [TimeTable].[Time] & "# AND ID <=" & [TimeTable].[ID]) AS Rank
FROM TimeTable;
【讨论】:
以上是关于如何在Gridview中将行合并到行中的主要内容,如果未能解决你的问题,请参考以下文章
如何在 asp.net c# 中将 JQuery DataTables 应用于 Gridview 以获取大数据(> 1000)?