【问题标题】:Reading ListBox's SelectedItem读取 ListBox 的 SelectedItem
【发布时间】:2014-12-25 14:41:52
【问题描述】:

我的表单上有一个 ListBox 和一个 TextBox。在 ListBox 的SelectedIndexChanged 事件中,我想显示当前在 ListBox 中选择的内容。 ListBox 绑定到 DataSource,其类型在设计时未知。我确实知道DisplayMember 的值(ListBox 显然使用它来显示每个项目的文本)。如何获取所选项目的文本?需要Reflection,还是有直接的方法?

【问题讨论】:

  • 您在使用 SelectedItem 时遇到了什么问题?
  • @Steve:如果绑定到DataView,它可以返回System.Data.DataRowView(或任何东西,取决于它绑定的内容);不是所选项目在 ListBox 中显示的字符串。
  • 但是如果你设置了 DisplayMember 那么你应该得到该列的值。还是不行?
  • @Steve:我可以。问题是我事先不知道其数据源的类型。

标签: c# .net winforms listbox


【解决方案1】:

如果选中的item是datarowview,那么可以使用displaymember来获取displayValue:

System.Data.DataRowView drv = (DataRowView)listBox1.SelectedItem;
string displayValue = Convert.ToString(drv[listBox1.DisplayMember]);

还有 getItemText 函数:

listBox1.GetItemText(listBox1.SelectedItem);

【讨论】:

  • 感谢您的意见。阅读我上面的 cmets。没那么简单。
猜你喜欢
  • 2013-04-25
  • 2014-08-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多