我有點不清楚下面的這麼清楚的事情了我的最終目標是創建一個按鈕來刪除在列表視圖中顯示的值,該值是一個列表項。鏈接Viewlist產品/列表中刪除所選的項目
這是那種我想要的東西......
studentList.Remove(listView1.SelectedIndices);
refreshList();
當然
是否奏效,我會在天堂,但它拋出,當然錯誤...
名單private List<Student> studentList = new List<Student>()
它是從另一個窗體生成的。
我在從正在使用的列表/視圖列表中刪除項目時出現問題。
這裏是一個不斷拋出的錯誤代碼:
private void buttonDelete_Click(object sender, EventArgs e)
{
// studentList.RemoveAt(listBoxStudent.SelectedIndex);
for (int i = 0; i < listView1.Items.Count; i++)
{
studentList.RemoveAt(listView1.Items[i].Selected));
i--;
}
refreshList();
}
值會被放進列表視圖正常,但我似乎無法找到一種方法來刪除列表視圖中的值與列表一起( refreshlist()
清除和重新填充列表視圖根據列表studentList
)
private void refreshList()
{
listView1.Items.Clear();
foreach (Student stu in studentList)
{
string[] filler = new string[5];
filler[0] = stu.Name.ToString();
filler[1] = stu.Residency.ToString();
filler[2] = stu.Credits.ToString();
filler[3] = stu.Tuition.ToString();
listView1.Items.Add(stu.Id.ToString()).SubItems.AddRange(filler);
listView1.View = View.Details;
}
}
編輯:添加refreshlist()
的要求。
你可以添加你refreshlist()代碼?另外,爲什麼使用for循環刪除項目?特別是因爲在你的循環中,你正在否定你的i變量,所以它不會改變? – Mikecito 2011-04-28 04:15:16
加入refreshlist(),我真的不知道最好的方法是刪除的項目是什麼,但它是可以選擇多個項目,所以這是我的理解是一個循環將需要一個列表視圖。對語言來說仍然是新的。 – Christopher 2011-04-28 04:20:40
你的第一個循環包含'studentList.RemoveAt(..)'的目標是什麼? - 你只是想刪除選定的項目?如果是這樣,爲什麼循環? – BrokenGlass 2011-04-28 04:22:55