清除listview的所有项目 - c#

neo*_*neo 0 .net c# listview

如何在C#中清除ListView?

以下是我填充ListView的方法:

int listViewCounter = 0;
for (int i = 0; i < dtXLS.Rows.Count; i++)
{
    listViewCounter++;

    ListViewItem item = new ListViewItem();
    item.Text = "First item" + listViewCounter;
    item.SubItems.Add("sadad" + listViewCounter);
    item.SubItems.Add("sadad" + listViewCounter);
    item.SubItems.Add("sadad" + listViewCounter);
    item.SubItems.Add("sadad" + listViewCounter);
    LV.Items.Add(item);

    LV.Items[listViewCounter - 1].SubItems[0].Text = listViewCounter.ToString();
    LV.Items[listViewCounter - 1].SubItems[1].Text = "sample1";
    LV.Items[listViewCounter - 1].SubItems[2].Text = "sample2";
    LV.Items[listViewCounter - 1].SubItems[3].Text = "sample3";
    LV.Items[listViewCounter - 1].SubItems[4].Text = "sample4";
}
Run Code Online (Sandbox Code Playgroud)

结果将是:

1st Column    2nd Column    3rd Column    4th Column    5th Column
1             sample1       sample2       sample3       sample4
Run Code Online (Sandbox Code Playgroud)

Cdeez这是我的代码的一部分,所以你可以看到:

public void ProcessFunction(RichTextBox rtb1, RichTextBox rtb2, DataTable dtXLS, ListView LV)
{
    int matchlist_counter = 0;


    string[] wordsToRedact = new string[dtXLS.Rows.Count];


    for (int i = 0; i < dtXLS.Rows.Count; i++)
    {
        wordsToRedact_counter++;


        wordsToRedact[i] = dtXLS.Rows[i][0].ToString();
        wordsToRedact[i] = Regex.Escape(dtXLS.Rows[i][0].ToString());


        Regex test = new Regex(@"\b(" + wordsToRedact[i] + @")\b", RegexOptions.Singleline | RegexOptions.Compiled);
        MatchCollection matchlist = test.Matches(rtb1.Text);


        if (matchlist.Count > 0)
        {
            for (int j = 0; j < matchlist.Count; j++)
            {
                WordsToRedact words = new WordsToRedact(matchlist[j]);

                HighLighting HL = new HighLighting();
                HL.Highlight_Words(pdfRT, words, Color.Yellow);
                matchlist_counter++;
            }
        }



        ListViewItem item = new ListViewItem();
        item.Text = "First item" + wordsToRedact_counter;
        item.SubItems.Add("sadad" + wordsToRedact_counter);
        item.SubItems.Add("sadad" + wordsToRedact_counter);


        LV.Items.Add(item);
        LV.Items[wordsToRedact_counter - 1].SubItems[0].Text = wordsToRedact_counter.ToString();
        LV.Items[wordsToRedact_counter - 1].SubItems[1].Text = wordsToRedact[i];
        LV.Items[wordsToRedact_counter - 1].SubItems[2].Text = matchlist_counter.ToString();

        matchlist_counter = 0;
    }
}


private void analyzeButton_Click(object sender, EventArgs e)
{
    listView1.Items.Clear();
    DataTable dtXLS = loadXLS(xls_path);
    WordsToRedactFunc(pdfRT, visfRT, dtXLS, listView1);
    MessageBox.Show("Processing done!", "Message", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
Run Code Online (Sandbox Code Playgroud)

我现在的问题是每次点击特定按钮时如何清除所有项目?

Cde*_*eez 6

更改您的代码:

ListViewItem item = new ListViewItem("First item" + listViewCounter);
item.SubItems.Add("sadad" + listViewCounter);
item.SubItems.Add("sadad" + listViewCounter);
item.SubItems.Add("sadad" + listViewCounter);
item.SubItems.Add("sadad" + listViewCounter);
LV.Items.Add(item);
Run Code Online (Sandbox Code Playgroud)

按钮点击这样写 LV.Items.Clear();