Jim*_*mex 2 c# data-binding formatting combobox winforms
我正在尝试在C#中设置a的.DisplayMember属性ComboBox,但我想将其绑定到中的多个列.DataSouce。
我的SQL看起来像这样:
SELECT PersNbr, PersFirstName, PersMiddleName, PersLastName
FROM Pers WHERE PersNbr = :persNbr;
Run Code Online (Sandbox Code Playgroud)
我将此查询保存在,DataTable因此所选的每个列在中都有其自己的列Datatable。
我想将.DisplayMember其组合在一起,PersFirstName + PersMiddleName + PersLastName这样它们的全名看起来像这样:
comboBox.DisplayMemeber = "PersFirstName" + "PersMiddleName" + "PersLastName"
Run Code Online (Sandbox Code Playgroud)
我知道我可以在查询中做到这一点:
SELECT PersNbr, (PersFirstName || PersMiddleName || PersLastName) PersName
Run Code Online (Sandbox Code Playgroud)
然后执行以下操作:
comboBox.DisplayMember = "PersName";
Run Code Online (Sandbox Code Playgroud)
但是我不想对数据库层中的数据进行格式化,因为它不应该存在。
在Winforms中我还能如何实现呢?
您可以创建一个表达式列,然后将其用作DisplayMember:
dataTable.Columns.Add(
"FullName",
typeof(string),
"PersFirstName + ' ' + PersMiddleName + ' ' PersLastName");
comboBox.DisplayMember = "FullName";
Run Code Online (Sandbox Code Playgroud)