0

我正在尝试使用 sqldatasource 对象来填充网格视图,但我希望将数据库中的两行合并为一行,并在网格视图中使用换行符(仅用于美观)。到目前为止,我所做的是将数据库的结果连接起来,如下所示:

SELECT Incidents.Title + '<br />' + Products.Name AS "Title/Product",
Technicians.Name + '<br />' +  Incidents.Description AS "Tech name /<br />Description",
Incidents.DateOpened,
Incidents.DateClosed
FROM Incidents
INNER JOIN Technicians ON Incidents.TechID = Technicians.TechID
INNER JOIN Products ON Incidents.ProductCode = Products.ProductCode
WHERE Incidents.CustomerID = @CustomerID

如您所见,我将 HTML 换行符插入到污染和列名中,但遗憾的是,这"Title<br />Product"在 gridview 中显示。简而言之,它实际上并没有执行换行符,它只是插入文本。

所以我的问题是,无论如何都要强制执行换行符,最好是一个比我正在使用的方法更简单的换行符,如果没有那很好,我只是真的坚持我能做什么。

4

1 回答 1

0

是的,当您在 SQL 查询中插入换行符时,您不会得到换行符。您还可以考虑使用 ListView 控件。asp:ListView 控件

您可以在表示层(aspx 页面)内做任何关于美学的事情。

根据您的要求,您可以做的是创建一个 gridview 模板字段列。在该模板字段列中,您可以删除一些标签并将换行符放在那里。您可以将标签与基础数据源绑定,例如

<asp:TemplateField HeaderText="My line break row">
<ItemTemplate>
<p>
  <asp:Label Id="lblTitle" Text='<%# Bind("Title")></asp:Label>
</p>
<p>
  <asp:Label Id="lblProduct" Text='<%# Bind("Product")></asp:Label>
</p>

</ItemTemplate>
</TemplateField>
于 2013-02-04T08:46:46.040 回答