CSharp - 如何将某些文本附加到控件的DisplayMember

  显示原文与译文双语对照的内容
0 0

如何在 DisplayMember 末尾添加一些文本或者其他字段而不更改 DataSource

this.lstSubjects.DataSource = this.subjectBindingSource;
this.lstSubjects.DisplayMember ="Caption";
this.lstSubjects.FormattingEnabled = true;
this.lstSubjects.Name ="lstSubjects";
this.lstSubjects.ValueMember ="SubjectCode";
this.lstSubjects.SelectedIndexChanged += new System.EventHandler(this.lstSubjects_SelectedIndexChanged);

例如我想在每个列表框中显示DataTable的CaptionSubjectCode 字段,但是每一行的值都是 SubjectCode

我想要这样的东西:

="技术( 广告)"listbox DisplayMember

="广告"的值

请提前致谢

时间:原作者:7个回答

0 0

首先,你可以将你的DisplayMember保留一个属性,假设:

lstSubjects.DisplayMember ="lastname";

现在,以 [Design] 模式进入窗体,右键单击ListBox属性> 。

在属性窗口的顶部,单击事件( 闪电 icon ),

在下面的事件 List 中查找格式,并键入一些事件名称,例如: lstSubjectsFormat,然后按回车键。 你将看到:

private void lstSubjectsFormat(object sender, ListControlConvertEventArgs e)
{
}

现在,将以下各行写入其中:

private void lstSubjectsFormat(object sender, ListControlConvertEventArgs e)
{
//Assuming your class called Employee, and Firstname & Lastname are the fields
 string lastname = ((Employee)e.ListItem).Firstname;
 string firstname = ((Employee)e.ListItem).Lastname;
 e.Value = lastname +"" + firstname;
}

那就是了;

原作者:
0 0

我为你准备的。 我知道你正在做一个sql查询来获取你的数据。 使用 使查询包含所需的字符串。 例如如果你的表包含两个varchar字段,你可以做

SELECT column1 +'(' + column2 + ')' FROM myTable;

这是最好的方法,也是正确的方法,并且花了我一些时间找到它。

原作者:
...