2009年3月24日星期二

ListView中取得更改行的数据

在ListView中Update数据时,要取得所更新的数据信息。最好的方法是设置ListView的DataKeyNames。DataKeyNames即为绑定的数据对像的属性。比如这个Material的ID即为其Identify Field。那么,我们就可以在更新ListView时,取得所更新的DataKeyValue。

方法如下:

1. 设置ListView的DataKeyNames属性
<asp:ListView ID="listCatalog" runat="server" DataKeyNames="ID"
DataSourceID="CatalogDataSource" onitemupdated="listCatalog_ItemUpdated">
<LayoutTemplate>

2. 在ListView的OnItemUpdated事件中,
protected void listCatalog_ItemUpdated(object sender, ListViewUpdatedEventArgs e)
{
int i = listCatalog.EditIndex;
string reference = listCatalog.DataKeys[i].Value.ToString();
ShowMessagePanel(reference);
}


取得了修改行的ID值后,就可以使用Model的如Find或GetByID等得到修改的Class,进而修改数据。

没有评论:

发表评论