列表视图-添加数据

本文关键字:数据 添加 视图 列表 | 更新日期: 2023-09-27 18:22:12

因此,尝试使用ListView并用数据填充它。

ListViewItem item = new ListViewItem("Test");
item.SubItems.Add("1");
item.SubItems.Add("2");
MyListView.Items.Add(item);

现在,我一直在搜索和阅读,我觉得自己很愚蠢,因为我不知道项目/子项目是如何工作的。

上面的代码没有任何作用:/

       foreach (Ingredient o in list)
        {
            ListViewItem lvi = new ListViewItem();
            lvi.Text = o.iName;
            lvi.SubItems.Add(o.iUnit);
            lvi.SubItems.Add(Convert.ToString(o.iCalories));
            listView1.Items.Add(lvi);
        }

它现在起作用了,但是,我再也无法访问这些项目了。我如何知道取回物品或更改物品中的内容?

列表视图-添加数据

这应该有效:

viewList.View = View.Details;
viewList.Columns.Add("Key");
viewList.Columns.Add("Value");
ListViewItem lvi1 = new ListViewItem();
lvi1.Text = "Key";
lvi1.SubItems.Add("Value");
viewList.Items.Add(lvi1);
listView1.Items.Clear();
        listView1.View = View.Details;
        List<Ingredient> list = controller.FindAllIngredients();
        foreach (Ingredient o in list)
        {
            ListViewItem lvi = new ListViewItem();
            lvi.Text = o.iName;
            lvi.SubItems.Add(o.iUnit);
            lvi.SubItems.Add(Convert.ToString(o.iCalories));
            listView1.Items.Add(lvi);
        }   

如何将其转化为一个不必知道字段数量的通用方法。例如,如果我在Ingridient中添加了另一个字段Category,这种方法将不起作用。我还想将它用于我的所有列表视图,这与类和列数无关。

每个子项都是ListView中的一列。因此,myListView需要根据上述代码配置3列。

在上面的示例中,Test将位于第一列,1位于第二列,而2位于第三列。

ListView控件中,如果要查看SubItems,则需要将View样式设置为Details

示例:

MyListView.View = View.Details;