在 DataGrid 中将查询中的两列合并为一列(WPF、C#)
本文关键字:一列 WPF 合并 两列 查询 DataGrid | 更新日期: 2023-09-27 18:32:07
我想合并 Access 数据库中的两列。 一个是Street Name
,另一个是Direction
. 因此,如果街道名称的值为 Diamond St
.和方向有W
,我希望能够把它组合成W Diamon St
。 有没有一种快速简便的方法可以做到这一点? 我想在我做我计划的事情之前我会问一下,这涉及将两个字符串组合在一个列表中,然后将列绑定到该列表。
在查询中有什么可以做的吗? 例如,我的查询是
OleDbDataAdapter da = new OleDbDataAdapter("SELECT Date, Time, Street, Direction FROM Event", con);
我无法弄清楚如何在该查询中执行Street, Direction AS StreetDir
,因为我有多个项目。
如果数据仅用于显示,则可以连接 sql 字符串中的两列:
Select rtrim(ltrim(isnull(column1,'') + ' ' + isnull(column2,''))) as columnname from table
编辑:
对于访问 SQL:
SELECT Date, Time,
Trim(iif(isnull(Street),'',Street) & ' ' & iif(isnull(direction),'',direction))
as StreetDir FROM Event
两个选项:
-
编写一个转换器以返回您想要的任何值。 即在绑定网格列时,创建网格模板列并在单元格模板中,您可以执行
<DataGridTemplateColumn HeaderStyle="{StaticResource ColumnHeaderStyle}"> <DataGridTemplateColumn.CellTemplate> <DataTemplate> <TextBlock Text="{Binding Converter={StaticResource MyConverter}}" /> </DataTemplate> </DataGridTemplateColumn.CellTemplate>
在转换器的转换方法中,您可以返回两个属性的组合值
2.在模型中创建一个计算属性,以组合两个字符串属性并将列绑定到该属性。