C# Listview项目清除问题

C# Listview项目清除问题,c#,winforms,C#,Winforms,我正在使用C#windows窗体应用程序中的listview.items.clear()方法,然后添加新的列表视图项 它仍然显示以前加载的项目 listViewUsers.Items.Clear(); dsUsers = aUser.GetUserNamesList(int.Parse(clientId)); int rowsCount = dsUsers.Tables["UserNames"].Rows.Count; for (int i = 0; i <

我正在使用C#windows窗体应用程序中的
listview.items.clear()
方法,然后添加新的列表视图项

它仍然显示以前加载的项目

listViewUsers.Items.Clear();                
dsUsers = aUser.GetUserNamesList(int.Parse(clientId));
int rowsCount = dsUsers.Tables["UserNames"].Rows.Count;

for (int i = 0; i < rowsCount; i++)
{
    dRow = dsUsers.Tables["UserNames"].Rows[i];

    lvi = new ListViewItem("item" + i, i);
    lvi.SubItems.Add(dRow["User_ID"].ToString().Trim());                  
    lvi.SubItems.Add(dRow["User Name"].ToString().Trim());

    listViewUsers.Items.Add(lvi);
}
listViewUsers.Items.Clear();
dsUsers=aUser.GetUserNamesList(int.Parse(clientId));
int rowsCount=dsUsers.Tables[“UserNames”].Rows.Count;
for(int i=0;i

我在listview中有预定义的列。

您可以使用以下代码:

listViewUsers.DataSource = null;

dsUsers = aUser.GetUserNamesList(int.Parse(clientId));
int rowsCount = dsUsers.Tables["UserNames"].Rows.Count;

for (int i = 0; i < rowsCount; i++)
{ 
    dRow = dsUsers.Tables["UserNames"].Rows[i];

    lvi = new ListViewItem("item" + i, i);
    lvi.SubItems.Add(dRow["User_ID"].ToString().Trim());                  
    lvi.SubItems.Add(dRow["User Name"].ToString().Trim());

    listViewUsers.Items.Add(lvi);
}
listViewUsers.DataSource=null;
dsUsers=aUser.GetUserNamesList(int.Parse(clientId));
int rowsCount=dsUsers.Tables[“UserNames”].Rows.Count;
for(int i=0;i
也许这段代码可以帮助您解决这个问题

    private void Form1_Load(object sender, EventArgs e)
    {

        ListView listView1 = new ListView();
        listView1.Bounds = new Rectangle(new Point(10, 10), new Size(300, 200));

        listView1.View = View.Details;
        listView1.LabelEdit = true;
        listView1.AllowColumnReorder = true;
        listView1.CheckBoxes = true;
        listView1.FullRowSelect = true;
        listView1.GridLines = true;
        listView1.Sorting = SortOrder.Ascending;

        var dsUsers = GetUserNamesList();
        int rowsCount = dsUsers.Count;
        ListViewItem lvi = new ListViewItem("item1", 0);
        for (int i = 0; i < rowsCount; i++)
        {
            var dRow = dsUsers[i].Name;

            lvi = new ListViewItem("item" + i, i);
            lvi.SubItems.Add(dsUsers[i].UserId.ToString().Trim());
            lvi.SubItems.Add(dsUsers[i].Name.ToString().Trim());
            lvi.SubItems.Add(dsUsers[i].LastName.ToString().Trim());

            listView1.Items.AddRange(new ListViewItem[] { lvi });
        }

        listView1.Columns.Add("Item Column", -2, HorizontalAlignment.Left);
        listView1.Columns.Add("Column 2", -2, HorizontalAlignment.Left);
        listView1.Columns.Add("Column 3", -2, HorizontalAlignment.Left);
        listView1.Columns.Add("Column 4", -2, HorizontalAlignment.Center);


        ImageList imageListSmall = new ImageList();
        ImageList imageListLarge = new ImageList();

        listView1.LargeImageList = imageListLarge;
        listView1.SmallImageList = imageListSmall;

        this.Controls.Add(listView1);
    }

    public IList<ClientModel> GetUserNamesList()
    {
        ClientModel user = null;
        IList<ClientModel> listusers = new List<ClientModel>();

        user = new ClientModel();
        user.UserId = 1;
        user.Name = "Juan 1";
        user.LastName = "Donoban 1";
        listusers.Add(user);
        //////////////////////////////////////
        user = new ClientModel();
        user.UserId = 2;
        user.Name = "Juan 2";
        user.LastName = "Donoban 2";
        listusers.Add(user);


        return listusers;
    }
}
private void Form1\u加载(对象发送方,事件参数e)
{
ListView listView1=新建ListView();
listView1.Bounds=新矩形(新点(10,10),新大小(300200));
listView1.View=View.Details;
listView1.LabelEdit=true;
listView1.AllowColumnReorder=true;
listView1.checkbox=true;
listView1.FullRowSelect=true;
listView1.GridLines=true;
listView1.Sorting=SortOrder.升序;
var dsUsers=GetUserNamesList();
int rowsunt=dsUsers.Count;
ListViewItem lvi=新的ListViewItem(“item1”,0);
for(int i=0;i
您正在清除“listViewUsers”,但填充ListViewCiUsers是一个输入错误listViewUsers.Items.Add(lvi);清除后是否尝试在listview上调用
Update
Refresh
?是。也尝试了更新和刷新方法。没有work@user1615089怎么样?这适用于WPF应用程序。我的应用程序仍然是WinForms。