Grid编辑下垃级联 看了看专业版的例子,分为以下几步,都是前端的
1.编辑父下拉框后,重置子下拉框
2.编辑子下垃框前,通过父下垃框数据得到下垃项,然后绑定数据
所以这里要截取Grid的两个事件,编辑前事件和编辑后事件
我以前博客里有编辑前事件 即beforeedit 编辑后事件为 edit
所以为第一步 Grid 加如下代码
<Listeners>
<f:Listener Event="beforeedit" Handler="Gbeforeedit" />
<f:Listener Event="edit" Handler="Gedited" />
</Listeners>
第二步 实现 注意注释 应该都能看明白
//编辑事件 在编辑专业前判断是否是男女 进行数据绑定
function Gbeforeedit(editor, e, eop) {
if (e.field == "Major") {
//得到选择器控件
var edcmp = e.column.getEditor();
//根据不同值绑定数据 得到值的过程略
var data = GetMajorData(e.record.data.Gender);
edcmp.f_loadData(data);
}
}
//编辑后事件 编辑完 性别后 重置专业
function Gedited(editor, e, eop) {
if (e.field == "Gender") {
e.grid.f_updateCellValue(e.record.getId(), 'Major', '');
}
}
//根据不同值绑定数据 得到值的过程略 可以直接用Ajax获取
function GetMajorData(Gender) {
if (Gender == "1") {
return [["材料科学与工程系", "材料科学与工程系", 1], ["化学系", "化学系", 1]];
} else {
return [["数学系", "数学系", 1], ["物理系", "物理系", 1], ["自动化系", "自动化系", 1]];
}
}
测试页面为grid_editor_cell_databind.aspx 版本:开源版v6.0.1
惯例 来个截图