C#清除ListView中的所有项目
我尝试清除listview,但clear方法不起作用:
myListView.Items.Clear();
这不起作用。 当我在这一行放置一个断点时,该行被执行,但我的listview不是空的。 怎么会??
我通过将其数据源设置为数据表来填充我的列表视图。
我现在的解决方案是将数据源设置为空数据表。
我只是想知道为什么清楚不做这个伎俩?
我使用母版页。 这里是按下按钮时内容页面的一些代码。 SearchTitle方法填充ListView。
相关代码:
protected void Zoek() { // Clear listbox ListView1.DataSource = new DataTable(); ListView1.DataBind(); switch (ddlSearchType.SelectedValue) { case "Trefwoorden": SearchKeyword(); break; case "Titel": SearchTitle(); break; case "Inhoud": SearchContent(); break; } }
填充ListView的方法
private void SearchTitle() { // Make panel visible pnlResult.Visible = true; pnlKeyword.Visible = false; Search Search = new Search(txtSearchFor.Text); ListView1.DataSource = Search.SearchTitle(); ListView1.DataBind(); }
怎么样
DataSource = null; DataBind();
试试这个 …
myListView.DataSource = null; myListView.Items.Clear();
我对此进行了搜索,我正在使用WPF c#。 如果您在这里也在寻找WPF解决方案,请使用以下内容:
yourlistview.ItemsSource = null;
我的猜测是Clear()
导致发送Changed
事件,从而触发从数据源自动更新listview。 所以这是一个function,而不是一个bug 😉
您是否尝试过myListView.Clear()
而不是myListView.Items.Clear()
? 也许这更好。
不要打扰Clear()。 就这样做:ListView.DataSource = null; ListView.DataBind();
关键是数据绑定(); 每次为我工作。
问题出现是因为您正在尝试清除整个列表框。 只需使用listView1.Items.Clear();
试试这个:
myListView.ItemsSource = new List< DictionaryEntry >();
我建议从基础DataTable中删除行,或者如果不再需要数据表,请将数据源设置为null。
可能你的代码有效,但是在你清除它之后会在某个地方反弹。 确保不是这种情况。 如果您提供一些代码会更有帮助。 你在哪里设置数据源? 你在哪里数据绑定? 你在哪里清理清单?
只是使用清晰的方法就像一个魅力的作品。 ListView1.Items.Clear()我认为如果它不起作用,它可能是您放置此代码的位置。 也可以尝试使数据源无效。
listView.Items.Clear() listView.Refresh()
/ e由于缺乏解释而更新。 通常情况下,如果发生紧急事件/方法,Clear()是不够的。 最好使用Clear()后面的Refresh()更新视图,以便立即反映listView清除。 无论如何,这已经解决了我的相关问题。