【发布时间】:2010-10-09 10:55:35
【问题描述】:
MSDN 演练提供了许多示例,您可以在这些示例中从工具箱中拖动数据源,运行一些简单的配置步骤,然后将ListView 拖动到屏幕上,将其指向数据源,嘿 - 你已经得到完整的表格编辑。
现在我正在尝试编写自己的 DataSource 类(实现 System.Web.UI.IDataSource 的类)和我自己的 DataSourceView 类。我现在将这个自定义 DataSource 类的一个实例分配给 ListView.DataSource 属性。
所有项目的显示都运行良好。但是,更新、插入和删除只是不起作用。我正在覆盖我的 DataSourceView 类中的所有函数,但它们只是没有被调用。
这是一个很大的话题,我将把这个问题集中在一个简单的例子上:
当您按下“编辑”按钮(ItemTemplate 内的按钮,CommandName 为“编辑”时,您期望 ItemTemplate被 EditItemTemplate 替换。这没有发生。我能让它发生的唯一方法是处理 onitemediting 事件。
protected void _listViewPublicHolidays_ItemEditing(object sender, ListViewEditEventArgs e)
{
_listViewPublicHolidays.EditIndex = e.NewEditIndex;
_listViewPublicHolidays.DataBind();
}
这几乎不是问题,但我为什么必须这样做呢?在我将 ListView 附加到 LinqDataSource 的 MSDN 演练中,不必编写此代码。以前来过这里的人可以猜测我的自定义数据源中会有什么不同或缺少什么吗?
【问题讨论】:
标签: .net asp.net data-binding