如何在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";
}结果将是:
1st Column 2nd Column 3rd Column 4th Column 5th Column
1 sample1 sample2 sample3 sample4Cdeez这是我的代码的一部分,你可以看到:
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);
}我现在的问题是,如何在每次单击特定按钮时清除所有项?
发布于 2012-08-21 15:05:17
更改您的代码:
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);在按钮中单击write like this LV.Items.Clear();
发布于 2013-08-08 02:34:34
您可以使用以下方法清除列表:
listView1.Items.Clear();
要添加一些新项目,请考虑
listView1.Items.Add(new ListViewItem(new string[] { string1 , string2 , ....}));发布于 2012-08-23 13:22:35
对于所有将遇到同样问题的人,我现在找出我的代码的问题所在,我只想在这里发布它。
private void analyzeButton_Click(object sender, EventArgs e)
{
listView1.Items.Clear();
//I just add this line
listviewItem_Counter = 0; // -> this integer needs to be set as zero because evrytime the analyze button be click it will be use, so it needs to be fresh again!
DataTable dtXLS = loadXLS(xls_path);
WordsToRedactFunc(pdfRT, visfRT, dtXLS, listView1);
MessageBox.Show("Processing done!", "Message", MessageBoxButtons.OK, MessageBoxIcon.Information);
}https://stackoverflow.com/questions/12049823
复制相似问题