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