我怎么知道在列表视图 + 图像列表中选择了哪个项目
本文关键字:列表 选择 项目 图像 视图 我怎么知道 | 更新日期: 2023-09-27 18:33:29
这是我在这个网站上发布问题的第一个时间,我需要一些帮助。这是我的代码
private void loadMatrixOfTables()
{
try
{
var tb = BaSic.db.tb_Tables; //load database with LINQ
lsvTables.Clear(); //this is my lisview
foreach (var b in tb)
{
if (b.Status == true)
{
lsvTables.Items.Add(b.Name,1);
}
else
{
lsvTables.Items.Add(b.Name, 0);
}
}
}
catch (Exception ex)
{
MessageBox.Show("Error: " + ex.ToString());
}
}
我的表有 2 个字段:ID 和名称我需要做什么来获取项目值,而不是项目文本。
我不知道
b 的类型,所以这个例子使用 2 个已知属性 id 和字符串,假设它们分别是 int 和一个字符串。只需为包含类更改它们即可。
首先,您需要创建自己的ListViewItem,以支持在listView上显示名称并在需要时获取他的ID。在您的情况下,它看起来像这样:
public class CustomListViewItem : ListViewItem
{
public CustomListViewItem(int id, string name)
{
Id = id;
Name = name;
}
public int Id { get; set; }
public string Name { get; set; }
}
使用它
首先创建您的项目
var item = new CustomListViewItem(id, name)
要在列表中显示名称,只需添加:
item.Text = name
然后添加到列表视图:
lsvTables.Items.Add(item,1)
若要检索所选项的 ID,只需将选定项强制转换为自定义列表视图项。例如:
int id = (CustomListViewItem)lsvTables.SelectedItems[0].Id;