//分页操作
private void dg_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
{
dg.CurrentPageIndex=e.NewPageIndex;
dg.DataBind();
}
//编辑操作
private void dg_EditCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
dg.EditItemIndex=e.Item.ItemIndex;
dg.DataBind();
}
//更新操作
/*==========================================带分页功能时更新.删除操作==========================
e.Item.ItemIndex只能获取当前页面的索引,而带分页更新,删除是对整个DataSet中表的索引.所以
要取得我们所更新,删除项在整个表中的索引,我们把当前的页索引(dg.CurrentPageIndex)乘以每
页所显示的项数(dg.PageSize)后再加上在当前中的索引.便得到了被选中项在整个表中的索引.
===============================================================================================*/
private void dg_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
DataRow drw=ds1.test.Rows[dg.CurrentPageIndex*dg.PageSize+e.Item.ItemIndex];
for(int i=0;i<4;++i)
{
TextBox txb=(TextBox)e.Item.Cells[i].Controls[0];
drw[i]=txb.Text;
}
ada.Update(ds1);
dg.EditItemIndex=-1;
dg.DataBind();
}
//取消操作
private void dg_CancelCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
dg.EditItemIndex=-1;
dg.DataBind();
}
//删除操作
private void dg_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
DataRow dr=ds1.test.Rows[dg.CurrentPageIndex*dg.PageSize+e.Item.ItemIndex];//获取被选项中行
dr.Delete();//删除行
ada.Update(ds1);//更新数据集
dg.EditItemIndex=-1;
dg.DataBind();
}
好像不能这样找datarow的,最近正好也在看dg.
customerId=(int)DataGrid1.DataKeys[DataGrid1.SelectedIndex];
ds1.Employees.FindByEmployeeID(customerId)
参考msdn:
ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.2052/vbcon/html/vbtskAllowingUsersToEditItemsInDataGridWebControl.htm