【发布时间】:2009-06-10 16:03:53
【问题描述】:
假设我需要将项目的状态从 active = true 更改为 active = false ,反之亦然,同时将我的更改保留在数据库表中。
我测试了 ItemChecked 事件,如下所示:
private void listView1_ItemChecked(object sender, ItemCheckedEventArgs e)
{
ListViewItem item = (ListViewItem)sender;
if (item != null)
{
Book b = (Book) item.Tag;
b.MakeActive(item.Checked);
}
}
我失败了。
谁能帮帮我?
【问题讨论】:
-
ListViewItem item = (ListViewItem)sender;如果它的强制转换无效,将引发异常,因此您需要将该行更改为 ListViewItem item = sender as ListViewItem;如果您希望无效的强制转换返回 null
-
请描述你是如何失败的。您是否遇到异常 - 您预计会发生什么,会发生什么?
-
private void listView1_ItemChecked(object sender, ItemCheckedEventArgs e) { ListViewItem item = (ListViewItem)e.Item; if (item != null) { if (item.Tag != null) { Teacher t = ((Teacher)item.Tag); t.TeacherGoesToLeave(item.Checked); } } } 我就是这样成功的。