gpt4 book ai didi

c# - 如何绑定(bind) ComboBox 以便 displaymember 是源数据表的 2 个字段的 concat?

转载 作者:IT王子 更新时间:2023-10-29 04:23:19 26 4
gpt4 key购买 nike

我想将一个 ComboBox 绑定(bind)到一个 DataTable (我不能改变它的原始模式)

cbo.DataSource = tbldata;
cbo.DataTextField = "Name";
cbo.DataValueField = "GUID";
cbo.DataBind();

我想要 ComboBox 显示 tbldata.Name + tbldata.Surname

当然,在绑定(bind)之前将新名称+姓氏作为字段添加到 tbldata 是可能的,但我希望有一个更优雅的解决方案(伪代码)

cbo.DataTextField = "Name";
cbo.DataTextField += "Surname";

最佳答案

计算出的色谱柱解决方案可能是最好的。但是,如果您无法通过更改数据表的架构来添加它,则可以遍历该表并填充一个将用作数据源的新集合。

var dict = new Dictionary<Guid, string>();
foreach (DataRow row in dt.Rows)
{
dict.Add(row["GUID"], row["Name"] + " " + row["Surname"]);
}
cbo.DataSource = dict;
cbo.DataTextField = "Value";
cbo.DataValueField = "Key";
cbo.DataBind();

显然,这不如直接绑定(bind)到 DataTable 那样高效,但我不会担心这一点,除非该表有数千行。

关于c# - 如何绑定(bind) ComboBox 以便 displaymember 是源数据表的 2 个字段的 concat?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1006521/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com