C# ListView控件在第一次之后不绘制新项
我有下面的代码,它将一组项目放入listview。然而,在填充一次之后,它将不会显示下一次更新或列标题,尽管滚动条确实会随着每次迭代的进行而变小,而且我可以很好地滚动,但没有任何内容。在我第一次填充它之前,它会显示列标题视图设置为详细信息C# ListView控件在第一次之后不绘制新项,c#,winforms,listview,.net-4.0,C#,Winforms,Listview,.net 4.0,我有下面的代码,它将一组项目放入listview。然而,在填充一次之后,它将不会显示下一次更新或列标题,尽管滚动条确实会随着每次迭代的进行而变小,而且我可以很好地滚动,但没有任何内容。在我第一次填充它之前,它会显示列标题视图设置为详细信息 private static ListViewItem NewListViewItem (ItemData item) { return new ListViewItem(new string[] {
private static ListViewItem NewListViewItem (ItemData item)
{
return new ListViewItem(new string[] {
item.ListID,
item.ItemName,
item.Description,
item.ManuPartNumber,
item.UPC
});
}
private static void updateList(List<ItemData> items)
{
list1.Items.Clear();
foreach (ItemData item in items)
list1.Items.Add(NewListViewItem(item));
list1.RedrawItems(0, list1.Items.Count - 1, false);
}
私有静态ListViewItem NewListViewItem(ItemData项)
{
返回新的ListViewItem(新字符串[]{
item.ListID,
item.ItemName,
项目.说明,
零件号,零件号,
项目1.UPC
});
}
私有静态void updateList(列表项)
{
list1.Items.Clear();
foreach(items中的ItemData项)
list1.Items.Add(NewListViewItem(item));
list1.重绘项(0,list1.Items.Count-1,false);
}
好的,问题解决了。在其他地方,我编写了list1.Clear()
,它清除了所有内容,包括用于显示详细信息的列。所以我把它改成了list1.Items.Clear()
,这就解决了它。Duh!我也有同样的问题。谢谢你发布答案!