//网格过滤
function datagridFilter(dg) {
dg.datagrid('enableFilter');
dg.datagrid('enableFilter', [{
field: 'townName',
type: 'combobox',
options: {
url: 'area/getAreas.action?type=2&parentCode=330106',
valueField: 'code',
textField: 'name',
onChange: function (value) {
//刷新数据,重新读取省份下的城市,并清空当前输入的值
var component = dg.datagrid('getFilterComponent', 'villageName');
component.combobox('reload', 'area/getAreas.action?type=2&parentCode=' + value);
if (value == '') {
dg.datagrid('removeFilterRule', 'townName');
} else {
dg.datagrid('addFilterRule', {
field: 'townName',
op: 'equal',
value: value
});
}
dg.datagrid('doFilter');
},
onLoadSuccess: function () {
var component = dg.datagrid('getFilterComponent', 'townName');
var component1 = dg.datagrid('getFilterComponent', 'villageName');
if (tvCode.length > 0) {
if (tvCode.length == 9) {
component.combobox('setValue', tvCode);
component1.combobox('reload', 'area/getAreas.action?type=2&parentCode=' + component.combobox('getValue'));
} else {
component.combobox('setValue', tvCode.substring(0, 9));
component1.combobox('reload', 'area/getAreas.action?type=2&parentCode=' + component.combobox('getValue'));
component.combobox('readonly', "true");
}
} else {
if (areaCode.length == 9) {
component.combobox('setValue', areaCode);
component.combobox('readonly', "true");
component1.combobox('reload', 'area/getAreas.action?type=2&parentCode=' + component.combobox('getValue'));
} else if (areaCode.length == 12) {
component.combobox('setValue', $("#areaCode").val().substring(0, 9));
component1.combobox('reload', 'area/getAreas.action?type=2&parentCode=' + component.combobox('getValue'));
component.combobox('readonly', "true");
} else {
dg.datagrid('doFilter');
}
}
}
}
},
{
field: 'villageName',
type: 'combobox',
options: {
//url:'area/getAreas.action?type=2&parentCode=330106',
valueField: 'code',
textField: 'name',
onChange: function (value) {
//刷新数据,重新读取省份下的城市,并清空当前输入的值
if (value == '') {
dg.datagrid('removeFilterRule', 'villageName');
} else {
dg.datagrid('addFilterRule', {
field: 'villageName',
op: 'equal',
value: value
});
}
dg.datagrid('doFilter');
},
onLoadSuccess: function () {
var component = dg.datagrid('getFilterComponent', 'villageName');
var value = component.combobox('getValue');
if (tvCode.length == 12) {
component.combobox('setValue', tvCode);
}
if (areaCode.length < 12) {
dg.datagrid('addFilterRule', {
field: 'villageName',
op: 'equal',
value: value
});
} else if (areaCode.length > 9) {
component.combobox('setValue', areaCode);
component.combobox('readonly', "true");
dg.datagrid('addFilterRule', {
field: 'villageName',
op: 'equal',
value: value
});
}
}
}
}]);
}
/**
*使用combotree 示例
*/
dg.datagrid('enbaleFilter',
[{
field: 'departmentName',
type: 'combotree',
options: {
panelHeight: 'auto',
multiple: true,
url: 'commonaction/queryDepartmentorgTreeData.action',
onLoadSuccess: function () {
var component = dg.datagrid('getFilterComponent', 'departmentName');
component.combotree('setValue', 4);
},
onChange: function (value) {
//var component = dg.datagrid('getFilterComponent', 'departmentName');
//var value=component.combotree('getValue');
dg.datagrid('addFilterRule', {
field: 'departmentName',
op: 'equal',
value: value
});
dg.datagrid("doFilter");
}
}
}, {
field: 'projectName',
type: 'combotree',
options: {
url: "authorization/getProjectTreeByAccountId.action?accountId=" + $("#accountId").val(),
panelHeight: "auto",
editable: false, //不允许手动输入
multiple: true,
cascadeCheck: true,
onLoadSuccess: function (data) { //数据加载完毕事件
var component = dg.datagrid('getFilterComponent', 'projectName');
var data = component.combotree('tree').tree("getRoots");
if (data.length > 0) {
component.combotree('tree').tree("check", data[0].target);//('select', data[0].target);
}
},
onChange: function (value) {
//var component = dg.datagrid('getFilterComponent', 'projectName');
//var data = component.combotree('tree').tree("getRoots");
//if (data.length > 0) {
// component.combotree('tree').tree("check",data[0].target);//('select', data[0].target);
//}
var value = component.combotree('getValue');
dg.datagrid('addFilterRule', {
field: 'projectName',
op: 'equal',
value: value,
});
dg.datagrid("doFilter");
}
}
}]);
文章转自:http://www.cnblogs.com/ckaifeng/p/5006569.html