清除按钮使列表视图中的列表变得不可见在c#
我有列表视图和两个按钮;清晰和观察。清除按钮使列表视图中的列表变得不可见在c#
视图按钮运行完美,因为它应该是,当我点击清除按钮,它确实清楚,因为它应该。
问题发生后点击清除按钮,视图按钮似乎不起作用。它不会查看我想要的任何内容。
同样,当我点击清除按钮,然后我点击查看按钮,它不会查看任何东西。就好像清除按钮将保存在列表视图中可见的数据一样。
任何人都可以帮助我吗?
下面是我清除按钮的代码。
private void clear_Click(object sender, EventArgs e)
{
listView1.Clear();
}
这是我的查看按钮。
private void view_Click(object sender, EventArgs e)
{
ListViewItem listviewitem;
for (int i = 0; i <= _server.Q.NoOfItem - 1; i++)
{
String words = _server.Q.ElementAtBuffer(i).ToString();
String[] berjaya = words.Split(new char[] { ',', '[', ']', ' ' });
listviewitem = new ListViewItem(berjaya[43]);
listviewitem.SubItems.Add(berjaya[41]);
listviewitem.SubItems.Add(berjaya[1]);
listviewitem.SubItems.Add(berjaya[45]);
this.listView1.Items.Add(listviewitem);
listView1.FullRowSelect = true;
listView1.View = View.Details;
foreach (ColumnHeader ch in this.listView1.Columns)
ch.Width = -2;
}
}
为了更好的看法,这里是我的两种情况的界面。
第一图片示出了输出时点击查看按钮。
第二张图片显示点击清除按钮时的输出。它仍然以这种方式打印出来,要么我们先点击清除按钮,要么点击查看按钮后点击。它不会在列表视图中显示数据。
我即使不使用服务器这样的测试:
XmlDocument xml = new XmlDocument();
xml.Load("C:\\Users\\HDAdmin\\Documents\\SliceEngine\\SliceEngine\\bin\\Debug\\myself.xml");
XmlNodeList xnList = xml.SelectNodes("/main/myself");
listviewitem = new ListViewItem("a");
listviewitem.SubItems.Add("b");
listviewitem.SubItems.Add("c");
listviewitem.SubItems.Add("d");
this.listView1.Items.Add(listviewitem);
listView1.FullRowSelect = true;
//show header
listView1.View = View.Details;
// Loop through and size each column header to fit the column header text.
foreach (ColumnHeader ch in this.listView1.Columns)
{
ch.Width = -2;
}
仍然看起来像以前一样。
Depedant为您的视图按钮的代码,你要知道,如果你想你清除了一个ListView之后的所有项目再次出现,你必须添加的物品放回列表视图,就像这样:
listView.Items.Add("I am being added to the list");
请尽快发布您的查看按钮代码,以确保我正确回答您的问题。
我已经把我的观点code.could你请帮助它。 – 2012-08-13 09:07:45
这不是添加数据的问题,而是点击清除按钮后出现的数据。如果你能帮助我,我非常感谢 – 2012-08-13 09:35:46
使用
private void clear_Click(object sender, EventArgs e)
{
listView1.Items.Clear();
}
代替
private void clear_Click(object sender, EventArgs e)
{
listView1.Clear();
}
ListView.Clear();
方法用于删除从ListView
的所有项目,以及列,但我猜你只想要删除的项目,所以你想应该使用ListView1.Items.Clear();
来代替。
创建一个ListViewItem,手动添加项目到一个视图,直接访问控制:这一切你不应该做的。
您应该有一个DateList属性:您的ETA/Priority/date/...对象的ObservableCollection。然后在ListView中对此属性ItemSource =“{Binding DateList}”进行绑定,不要忘记在Window的new()或loaded()函数中设置DataContext。然后你只需在你的代码中对DateList进行操作,添加或删除你的数据项。
如果你不这样做,你会为自己购买越来越多的问题(像这样的:看到一个简单的操作像清除打破你的代码...)
@ yogi:我已经把我的视图代码。 – 2012-08-13 09:07:24
Sara这里是什么'_server',你是否用断点测试了你的视图代码?在清除listview之后它是否进入了循环? – yogi 2012-08-13 09:18:00
@ yogi:是的,我做到了。我只是编辑我的帖子,我测试的方式。仍然,它不起作用。清晰的功能似乎使数据不可见。 – 2012-08-13 09:34:33