我将数据表作为数据源提供给Lisbox。 该表字段是ID,主题,文本和ID是唯一字段(PK)。 但是主题显示为DisplayMember。
这是我的数据源代码:
lbTexts.DataSource = mDataSet.Tables["Story"];
lbTexts.DisplayMember = "Subject";
我想知道用户选择了哪些行以及唯一值是什么。 我发现它有10行代码。但我希望有一种简单的方法可以找到它。
答案 0 :(得分:3)
如果使用ValueMember属性并将其设置为Id,则可以使用SelectedValue参数而无需整个数据集。如果列表中的选定索引与数据中的索引不匹配,您也可以保证不会出现错误。
lbTexts.ValueMember = "Id";
// Later
int selectedId = Int32.Parse(lbTexts.SelectedValue);
答案 1 :(得分:2)
使用SelectedItem
获取当前选定的项目,并使用SelectedValue
获取值。
selectedItem示例:
String value = lbTexts.SelectedItem.Value;
selectedValue的示例:
String txt = lbTexts.SelectedValue.ToString();
答案 2 :(得分:2)
试试这个,
string value = lbTexts.SelectedItem.Value;