繁体   English   中英

如何通过valuemember c#从列表框中获取DisplayMemeber值?

[英]how to get DisplayMemeber value from listbox by valuemember c#?

我有一个listBox,像这样:

ID ClientName

  1. 麦可
  2. 史蒂夫
  3. 史密斯

现在,我知道了客户端的ID,我如何获取它的DisplayMember?

转换为DataRowView并转换为按索引选择客户端名称列,即1。

String ClientName = (((DataRowView) listBox1.SelectedItem).Row[1]).ToString();

您可以尝试此代码。 如果ListboxDataSourceDataTable ,则编写该示例,但如果还有其他内容,请尝试查看ListBox Items属性中的object是什么类型。

(请注意,我不喜欢使用break语句,但这是最快的方法)

string str = string.Empty;
foreach (DataRowView drv in listBox1.Items)
{
       int lvID = int.Parse(drv.Row[listBox1.ValueMember].ToString());
       if (lvID == 5)
       {
             str = drv.Row[listBox1.DisplayMember].ToString();
             break;
       }
}
var t = from list in USStates where te.ShortName == textBox1.Text select te.LongName.ToString();     

foreach(String st in t)
 {
   MessageBox.Show(st);   
}

其中USStates是通用列表,而TextBox1.text包含id的值。考虑到列表框,将通用列表用作数据源。

有一个更简单的解决方案。 特别是如果您要构建数据源,然后填充它,然后释放源。 使用“项目”列表创建当前所选项目的DataRowView。 然后只需拉正确的索引。 0将给您“值成员”,而1将给您“显示成员”。

DataRowView thisLine = cbTrackerFormList.Items[cbTrackerFormList.SelectedIndex] as DataRowView;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM