我正在开发一个带有多行文本框和listview
的C#应用。
文本框的内容如下所示:
John Smith
Joe Bronstein
Susan Jones
Adam Feldman
列表视图有两列:Date
和Name
。
到目前为止,我可以将当前日期放入listview的Date列。接下来,我需要将名称复制到Name列中。 listview
应如下所示:
Date Name
6/27/2013 John Smith
6/27/2013 Joe Bronstein
6/27/2013 Susan Jones
6/27/2013 Adam Feldman
那么如何将textbox
中每一行的名称复制到Name
中每一行的listview
列?
答案 0 :(得分:2)
这将使用当前日期将textBox中的所有名称添加到listView:
var date = DateTime.Now.ToShortDateString();
foreach (var line in textBox.Lines)
listView.Items.Add(new ListViewItem(new string[] { date, line}));
工作原理:我们枚举TextBox
属性Lines
,它逐行返回名称。对于每一行,为ListViewItem
中的每列创建了包含字符串数组的新ListView
。然后将item添加到listView。
答案 1 :(得分:0)
Lazyberezovsky 回答非常有效。
但是如果你已经在Listview
中添加了一个项目,并且想要在已添加Dates
之后添加这些行(老实说,我怀疑这只是一个猜测)。然后,您需要使用SubItem
将每行添加到新列。现在,当然,ListView
Items
的{strong>相同数量 <{1}}与<{1>} <{strong> Lines
Multiline
}} Textbox
。
所以,你的代码可能看起来像这样:
string[] line = textBox1.Lines; // get all the lines of text from Multiline Textbox
int i = 0; // index for the array above
foreach (ListViewItem itm in listView1.Items) // Iterate on each Item of the ListView
{
itm.SubItems.Add(line[i++]); // Add the line from your textbox to each ListViewItem using the SubItem
}
否则 Lazyberezovsky的答案将完美无缺地解决您的问题。