AspxGridView主子表(master-detail)设置共分3步:

第1步: 设置主表允许其显示 DetailRow

放置主GridView到页面, 取名"grvList", 设置其属性:

grvList.SettingsDetail.ShowDetailRow = true;

第2步:插入子表模板

依次: 右击"grvList" -> 编辑模板 ->DetaiRow , 在编辑状态下插入子GridView, 取名"grvDetail"

第3步:后台代码

 //显示主表数据
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
ShowList();
} //显示子表数据
protected void grvDetailList_DataBinding(object sender, EventArgs e)
{
AspxGridView grid = sender as ASPxGridView;
long id= Convert.ToInt64(grid.GetMasterRowKeyValue());
grid.DataSource = BLL.DetailListByMasterId(id);
}

关键点:

1. 主表的ShowDetailRow 属性设置

2. 子表数据的绑定,  通过子表DataBinding 事件设置子表数据源属性,  主表ShowList()方法执行时, 实现主表和子表同步刷新.

05-11 18:38