C#代码:
//子AspxGridView数据绑定
protected void DetailGrid_BeforePerformDataSelect(object sender, EventArgs e) {
Session[\}
注意C#代码中的DetailGrid_BeforePerformDataSelect方法,该方法是在我们点+号展开数据时执行,GetMasterRowKeyValue()是获取主表中的主键值。因为我们在SqlDataSource2设置了SessionParameter,所以我们在DetailGrid_BeforePerformDataSelect要为SessionParameter赋值。
4.从客户端操作数据(新增、修改、删除等)
AspxGridView提供了从客户端与服务器端两种方式激活新增,编辑,删除面板。本节主要讲解如下从客户端激活各种面板:
1.新增
调用AddNewRow()方法打开新增面板: 方法定义:function AddNewRow();
2.修改
调用StartEditRow()使行进入编辑面板
方法定义:function StartEditRow(visibleIndex : int);
3.取消编辑状态
1),点击【取消】按钮或【保存按钮】自动取消编辑面板 2),调用CancelEdit()或UpdateEdit()取消编辑面板
4.删除
调用DeleteRow()方法实现数据删除。
方法定义:function DeleteRow(visibleIndex : int);
调用方法:在JavaScript中通过AspxGridView的\客户端名称.方法名称()\格式来调用。
示例:下面演示如何实现通过双击数据来修改数据
5.从服务器端操作数据(新增、修改、删除等)
在开始本章之前应该注意:
1,在新增、修改、删除行前应设置KeyFieldName属性,否则无法执行行维护。 2,如果使用SqlDataSource作为数据源,必须设置DataSourceMode=”DataSet”才可更新数据(插入、修改、删除),DataSourceMode=”datareader”时不可更新数据。
一、如何进入编辑状态
在后台调用AddNewRow()进入新增状态, 调用StartEditRow()进入修改状态
调用CancelEdit()或UpdateEdit()取消编辑状态
示例:
protected void btnServerSave_Click(object sender, EventArgs e) {
this.ASPxGridView1.CancelEdit();//取消编辑状态 this.ASPxGridView1.UpdateEdit();//保存数据 }
二、调用UpdateEdit方法保存数据,或调用BeginUpdate()和EndUpdate()分别处理保存前与保存后的操作。
三、编辑模式的设置
即设置SettingsEditing.Mode属性
Inline:在当前行上直接编辑(类似grid) EditForm:当前行转化为表单,嵌入在行中
EditFormAndDisplayRow:同EditForm,但保留当前行 PopupEditForm: 弹出窗口编辑
编辑面板位置的设置:
SettingsEditing.NewItemRowPosition属性用来指定新增行的位置。
GridViewNewItemRowPosition枚举型,可取值:Top、Bottom。默认为Top。
当取值为Top时,在当前页第一行新增;当取值为Bottom时,在当前页最后一行新增。
如下示例演示了如何编辑模式:
protected void btnServerAddRow_Click(object sender, EventArgs e) {
string editMode = this.ddlEditMode.SelectedValue; GridViewEditingMode gridViewEditingMode; switch (editMode) {
case \
gridViewEditingMode = GridViewEditingMode.Inline; break; case \
gridViewEditingMode = GridViewEditingMode.EditForm; break;
case \
gridViewEditingMode = GridViewEditingMode.EditFormAndDisplayRow; break;
case \
gridViewEditingMode = GridViewEditingMode.PopupEditForm; break; }
this.ASPxGridView1.SettingsEditing.Mode = gridViewEditingMode; this.ASPxGridView1.AddNewRow(); }
下面我们开始各方法的具体示例:
1,新增行后保存数据方法示例:
InsertCommand=\(@OCCDatetime,@Event,@Type,@Creator,@CreateDate,@Remark)\ 2.修改示例: (1)必要条件:数据源必须支持更新(如SqlDataSource配置了UpdateCommand), 必须有主键。 (2)调用StartEdit方法使行进入编辑状态 可以调用UpdateEdit方法保存数据,或调用CancelEdit方法取消编辑状态。 也可以显示出内置的【编辑】按钮让用户点击进入编辑状态。 int firstSelectedRowIndex =-1; if (this.ASPxGridView1.VisibleRowCount <= 0) return; //取选中的第一行 do { firstSelectedRowIndex++; if (this.ASPxGridView1.Selection.IsRowSelected(firstSelectedRowIndex)) {