gpt4 book ai didi

c# - 在 Devexpress 的 LookupEdit 上显示多列

转载 作者:行者123 更新时间:2023-12-03 22:56:20 24 4
gpt4 key购买 nike

我有一个绑定(bind)到 LookUpEditDataSource。例如,我有 2 列 FirstNameLastName,我想将 DisplayMember 属性设置为这两列。我发现我应该订阅 lookUp_CustomDisplayText() 并像这样编辑显示文本属性:

private void lookUpCompanyPerson_CustomDisplayText(object sender, CustomDisplayTextEventArgs e)
{
LookUpEdit edit = sender as LookUpEdit;

if (e.DisplayText != "")
{
e.DisplayText = e.DisplayText + " " + (string)e.Value;
}
}

但我不明白什么是e.Value,我想为所选行显示另一列,而不是所选行的值成员。

这就是我将数据源绑定(bind)到 lookupedit 的方式:

 private void populateComboBoxForCompanyPerson()
{
lookUpCompanyPerson.Properties.ForceInitialize();
bs = new BindingSource(myDataSet, "CompanyPerson");
lookUpCompanyPerson.Properties.DataSource = bs;
lookUpCompanyPerson.Properties.DisplayMember = "CompanyName";
lookUpCompanyPerson.Properties.ValueMember = "PersonID";
this.lookUpCompanyPerson.Properties.Columns.Add(new LookUpColumnInfo("PersonID"));
this.lookUpCompanyPerson.Properties.Columns["PersonID"].Visible = false;
this.lookUpCompanyPerson.Properties.Columns.Add(new LookUpColumnInfo("FirstName"));
this.lookUpCompanyPerson.Properties.Columns.Add(new LookUpColumnInfo("LastName"));
this.lookUpCompanyPerson.Properties.Columns.Add(new LookUpColumnInfo("CompanyName"));
}

这就是我的数据源的样子:datasource

最佳答案

我稍微更改了 Ian O'Brien 的代码,它可以正常工作:

private void lookUpCompanyPerson_CustomDisplayText(object sender, CustomDisplayTextEventArgs e)
{
RepositoryItemLookUpEdit props;
if (sender is LookUpEdit)
props = (sender as LookUpEdit).Properties;
else
props = sender as RepositoryItemLookUpEdit;

if (props != null && (e.Value is int))
{
DataRowView row = props.GetDataSourceRowByKeyValue(e.Value) as DataRowView;

if (row != null)
{
e.DisplayText = String.Format("{0} {1}", row["FirstName"], row["LastName"]);

}
}
}

关于c# - 在 Devexpress 的 LookupEdit 上显示多列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13753257/

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