【发布时间】:2026-02-09 01:55:02
【问题描述】:
我正在寻找如何在我的 gridview 中分离我的结果,如下所示(请运行 sn-p 以查看我想要的结果)。
我正在添加如下所示的网格视图。
<asp:GridView ID="gv" runat="server" CssClass="gvadmin" PageSize="19" AllowPaging="true" OnPageIndexChanging="gv_PageChanging" AutoGenerateSelectButton="true" AutoGenerateEditButton="true" OnRowEditing="gv_RowEdit" OnSelectedIndexChanged="gv_SelectChanged" />
从类中存储的sql连接填充gridview。
gv.DataSource = c.sqldt
gv.DataBind()
这会毫无问题地填充网格视图,但我不知道如何添加该类型的子标题。我以前见过别人这样做,但我不知道怎么做。
<table border="1">
<tr>
<td>ID</td>
<td>type</td>
<td>name</td>
</tr>
<tr>
<td>Person</td>
<td></td>
<td></td>
</tr>
<tr>
<td>1</td>
<td>person</td>
<td>John</td>
</tr>
<tr>
<td>2</td>
<td>person</td>
<td>Amy</td>
</tr>
<tr>
<td>animal</td>
<td></td>
<td></td>
</tr>
<tr>
<td>3</td>
<td>animal</td>
<td>Max</td>
</tr>
<tr>
<td>4</td>
<td>animal</td>
<td>fifi</td>
</tr>
</table>
我想要每种类型的标题。
数据将是 sql 驱动的,因此使用 sql 查询,我没有问题将数据获取到 gridview,但我如何添加“类型”标题来分解它们。
我已经尝试使用多个数据表到 1 个数据集中进行以下操作,但无法使其正常工作。
Dim sqlstr As String = "select distinct(type) from typestbl order by type"
Dim sqlstr2 As String = "select Names,Age from Typestbl order by names where type = @type"
Dim i As Integer = 0
s.FillDS(sqlstr)
For Each row As DataRow In s.sqldt.Rows
dt = New DataTable
dt.Columns.Add("Names")
dt.Columns.Add("Age")
Dim r As DataRow = dt.NewRow
r("Names") = row.Item(0).ToString
r("Age") = ""
dt.Rows.Add(r)
ds.Merge(dt)
s.FillDS2()
ds.Merge(s.sqldt2)
Next
gv.DataSource = ds
gv.DataBind()
【问题讨论】:
-
通常,Stack Overflow不是免费的编码服务。
-
基本上您可以使用两种方法:在您的服务器代码中创建一个数据表,其中包含与您的示例类似的数据或拥有一些 javascript(您可以使用这些库,例如 jspreadsheets)。如果您没有使用 javascript 的经验,第一个更简单,但对于单个 SO 问题来说,两者都太宽泛了。
-
感谢您的回复 IvanH。我的问题是如何创建该格式的数据表。我有一张三列的桌子。类型、姓名、年龄 我需要显示带有标题的结果。动物 fifi - 最多 4 人 - 7 人 john -30 amy - 25 我很难正确解释。到目前为止,我已经尝试将多个数据表添加到循环中的数据集,但这没有奏效。我已经添加了我尝试过的代码。