Dar*_*ar1 5 .net c# user-interface listview winforms
我创建了一个列表视图,并在运行时确定列数.我一直在网上阅读有关listview的文本(我仍然是)但我想知道如何将项目添加到listview中的特定列我想到如下:
m_listview.Items.Add("1850").SubItems.Add("yes");
Run Code Online (Sandbox Code Playgroud)
假设"1850"是列的文本将是目标列.
Sk9*_*k93 18
ListViewItems不知道您的ListView列.
要直接引用该列,首先需要将所有列添加到ListViewItem.
所以...让我们说你的ListView有三列A,B和C; 下一段代码只会向A列添加数据:
ListViewItem item = new ListViewItem();
item.text = "Column A";
m_listView.Items.Add(item);
Run Code Online (Sandbox Code Playgroud)
为了让它将文本添加到C列,我们首先要告诉它它有一个B列......
ListViewItem item = new ListViewItem();
item.text = "Column A";
item.SubItems.Add("");
item.SubItems.Add("Column C");
m_listView.Items.Add(item);
Run Code Online (Sandbox Code Playgroud)
所以现在我们在ListViewItem中有列A,B和C,文本出现在A和C列中,但不出现在B.
最后......现在我们已经告诉它它有三列,我们可以做任何我们喜欢的那些特定列...
ListViewItem item = new ListViewItem();
item.text = "Column A";
item.SubItems.Add("");
item.SubItems.Add("Column C");
m_listView.Items.Add(item);
m_listView.Items[0].SubItems[2].Text = "change text of column C";
m_listView.Items[0].SubItems[1].Text = "change text of column B";
m_listView.Items[0].SubItems[0].Text = "change text of column A";
Run Code Online (Sandbox Code Playgroud)
希望有所帮助!
我通常将ListViewItem继承为:
public class MyOwnListViewItem : ListViewItem
{
private UserData userData;
public MyOwnListViewItem(UserData userData)
{
this.userData = userData;
Update();
}
public void Update()
{
this.SubItems.Clear();
this.Text = userData.Name; //for first detailed column
this.SubItems.Add(new ListViewSubItem(this, userData.Surname)); //for second can be more
}
}
Run Code Online (Sandbox Code Playgroud)
哪里
public class UserData
{
public string Name;
public string Surname;
}
Run Code Online (Sandbox Code Playgroud)
运用
listView1.Items.Add(new MyOwnListViewItem(new UserData(){Name="Name", Surname = "Surname"}));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
44940 次 |
| 最近记录: |