我知道如何添加/删除项目,但我不知道如何将更多项目添加到同一字段(同一行和同一列)。我希望每当我点击一个按钮时,一个项目被添加到同一个选定的行,而不是添加到listView中的新行。 我上传了一张照片,你可以查看我的确切含义。在列表视图中添加更多项目到同一行和同一列
回答
我没有太多的事情要继续下去。但是,这增加了一个新行:
string[] row = { "1", "snack", "2.50" };
var listViewItem = new ListViewItem(row);
listView1.Items.Add(listViewItem);
这里有一个帖子讨论如何更新现有的列表项: C#: How do you edit items and subitems in a listview?
考虑看着ObjectListView或DataGridView的,而不是你是什么目前。它可能对您的需求更加灵活。
你的问题有点不清楚。显然你使用的是listView,并且你有列和行产生一个单元格/框/网格位置。我收集了它,在它最初创建之后,您希望追加或更改该位置的数据。
为了说明问题:不支持给定“单元格”内的多行文本(尽我所知)。您显示的图片可能是一个自定义对象或类似于listView的东西,但是不同(例如ObjectListView)。或者也许是一张图片。
listView2.Items[0].SubItems[4].Text = "123\nabc"; //Doesn't add a proper newline like a normal string
listView2.Items[0].SubItems[4].Text = "123\rabc"; //Doesn't add a proper return carriage like a normal string
listView2.Items[0].SubItems[4].Text = "123\r\nabc"; //Doesn't add a proper newline like a normal string
我假设你正在使用的详细信息视图
listView1.View = View.Details;
首先将你的头,listView1.Columns.Add(文字,宽度);
listView1.Columns.Add(First Name", 50);
listView1.Columns.Add("Middle Name", 100);
listView1.Columns.Add("Last Name", 100);
然后,您将数据添加到listView。但是,这不是直接完成的。你建立一个listViewITEM然后将该项目添加到列表视图。
string[] row = new string[3];
row[0] = "john";
row[1] = "someone";
row[2] = "doe";
ListViewItem lvi = new ListViewItem(row);
listView1.Items.Add(item);
listView1.SelectedItems [#]子项目[#]文本= “字符串” + “\ n” + “字符串2”。;
CrazyPaste建议添加一行,这可能是实用的,并且是您经常用listViews看到的东西。 但是,如果您选择添加或“重做”这些行,请确保在输入新信息之前删除任何旧信息以避免重复。 从弹出采取在Visual Studio中2013亲
listView1.Items.RemoveAt(int index)
listView1.Items.Insert(int index, string key, string text, int imageIndex)
OR
listView1.Items.Clear(); //Clears all items
然后
//Add populate logic here
两个阵列,或者如果你想填充在一个循环中多维数组将是有效的这种方式的列表视图。
要以编程方式实现此目的,您可以......
listView2 = new ListView();
listView2.View = View.Details;
listView2.Location = new Point(50, 50);
listView2.Size = new Size(400, 100);
this.Controls.Add(listView2);
listView2.Columns.Add("AAA");
listView2.Columns.Add("BBB");
listView2.Columns.Add("CCC");
listView2.Columns.Add("DDD");
listView2.Columns.Add("EEE");
ListViewItem item1 = new ListViewItem();
item1.Text = "0"; //The way to properly set the first piece of a data in a row is with .Text
item1.SubItems.Add("1"); //all other row items are then done with .SubItems
item1.SubItems.Add("2");
item1.SubItems.Add("3");
item1.SubItems.Add("");
item1.SubItems.Add("");
ListViewItem item2 = new ListViewItem();
item2.Text = "00";
item2.SubItems.Add("11");
item2.SubItems.Add("22");
item2.SubItems.Add("33");
item2.SubItems.Add("");
item2.SubItems.Add("");
ListViewItem item3 = new ListViewItem();
item3.Text = "000";
item3.SubItems.Add("111");
item3.SubItems.Add("222");
item3.SubItems.Add("333");
item3.SubItems.Add("");
item3.SubItems.Add("");
//item1.SubItems.Clear();
//item1.SubItems.RemoveAt(1);
listView2.Items.Add(item1);
listView2.Items.Add(item2);
listView2.Items.Add(item3);
//listView2.Items.Insert(2, item1); //0 here is the row. Increasing the number, changes which row you are writing data across
listView2.Items[0].SubItems[4].Text = "123\rabc";
'更新' 的信息:
listView1.Items.Clear();
listView1.Items.Add(item1);
listView1.Items.Add(item2);
...等
注:
- 我是不是能够得到.Insert与子项工作。
- 如果您已经插入了listView项目,您无法先插入项目
- 子项目不会自动创建以填充空白空间。类似'listView2.Items [0] .SubItems [4] .Text'的命令将无法使用空/不存在子项
嗨Branden,谢谢你的回复。是的,我使用了listView,并且我有列和行导致了一个单元格,我想在同一个单元格中插入一个多行。没有工作,所以你说多行不支持?你知道任何其他工具可以做我想要的吗?请让我知道。 – naouf
好的。在我搜索互联网的年龄后,事实证明listView不支持文本换行。所以我使用了DataGridView。感谢您的帮助
- 1. 多次添加一个项目到同一个列表
- 2. 使用foreach在列表视图中添加项目到列/行
- 3. 从同一个下拉列表中添加多个项目
- 4. 如何将同一行中的多个项目添加到列表框c#?
- 5. 更新同一视图中的多个列表项
- 6. 动态添加不同布局的项目到列表视图
- 7. 将继承的项目添加到同一列表容器中
- 8. WPF添加更多的交互到列表视图项目
- 9. 在单个列表视图行中添加多个项目
- 10. 尝试将不同选项卡的列表视图项添加到同一个列表数组中。
- 11. 多个项目在同一队列在同一时间运行
- 12. 将项目添加到列表视图
- 13. 将项目添加到列表视图到另一个活动
- 14. 将一个项目添加到列表视图到一个特定的列
- 15. 添加项目到列表视图和过滤现有项目
- 16. 如何将项目行添加到列表视图WPF和VB.net
- 17. Dynamic将项目添加到不同列表和不同适配器的列表
- 18. 多次将相同的项目添加到列表中
- 19. 一列的值添加到另一列在同一行
- 20. 添加项目到多列列表框
- 21. 添加不同类型的项目列表视图
- 22. 将多个行值更新到同一行和不同列
- 23. 列表的多个项目添加一行在另一个列表
- 24. 如何在运行时添加项目到列表视图
- 25. 在同一查询中更改列和添加列的语法
- 26. 添加平均列到同一个表
- 27. 将图像添加到列表视图中的第一项?
- 28. 在一个特定的索引列表视图添加项目
- 29. 在列表视图的末尾添加一个项目
- 30. 添加一个项目在索引号列表视图
\ n是制作新行的转义字符,尝试在它们之间添加\ n字符串 – Scriven
请向我们展示您到目前为止的内容。否则,我们只会猜测,而我在猜测时很可怕。 – theB