jquery-easyui - Easy UI Datagrid过滤器组合框问题
问题描述
我正在使用 Easy UI 数据网格在网格内显示数据。在网格内有一个状态组合框过滤器。组合框过滤器有时会加载,有时会给出问题无法读取未定义的属性选项。任何人都面临同样的问题。用于测试的 HTML
var qmodel={};
var gData=[{Id:"1",Name:"Amit", Status:"New"},{Id:"2",Name:"Sumit",Status:"Processed"},{Id:"3",Name:"David",Staus:"Failed"}];
var statuses=[{id:"1",name:"New"},{id:"2",name:"Pass"},{id:"3",name:"Processed"},{id:"4",name:"Failed"}];
var cols=[{field:"Id",title:"Id",width:100},{field:"Name",title:"Name",width:100},{field:"Status",title:"Status",width:100}];
$("#dGrid").datagrid({
columns: [cols],
data:gData,
clientPaging: false,
queryParams: qmodel,
pagination: true,
fitColumns: true,
remoteFilter: true,
onBeforeLoad: function (param) {
qmodel.sort = param.sort;
qmodel.order = param.order;
qmodel.page = param.page;
qmodel.rows = param.rows;
qmodel.filterRules = param.filterRules;
var firstLoad = false;
param.first = firstLoad;
},
}).datagrid('enableFilter', [{
field: 'id',
type: 'text'
}, {
field: 'name',
type: 'text'
},
{
field: "status", type: "combobox", options: {
valueField: "id", textField: "name", data:statuses, editable: false,
onLoadSuccess: function (items) {
if (items.length) {
var opts = $(this).combobox('options');
$(this).combobox('select', items[0][opts.valueField]);
}
},
onChange: function (newValue, oldValue) {
$("#dGrid").datagrid('addFilterRule', {
field: 'status',
op: 'equalsTo',
value: newValue
});
$("#dGrid").datagrid('doFilter');
}
}
},
]);
<link rel="stylesheet" type="text/css" href="https://www.jeasyui.com/easyui/themes/default/easyui.css">
<link rel="stylesheet" type="text/css" href="https://www.jeasyui.com/easyui/themes/icon.css">
<link rel="stylesheet" type="text/css" href="https://www.jeasyui.com/easyui/themes/color.css">
<link rel="stylesheet" type="text/css" href="https://www.jeasyui.com/easyui/demo/demo.css">
<script type="text/javascript" src="https://www.jeasyui.com/easyui/jquery.min.js"></script>
<script type="text/javascript" src="https://www.jeasyui.com/easyui/jquery.easyui.min.js"></script>
<script type="text/javascript" src="https://www.jeasyui.com/easyui/datagrid-filter.js"></script>
<table id="dGrid" class="easyui-datagrid">
</table>
解决方案
推荐阅读
- python - 如果元素不存在,硒中的条件语句
- javascript - 如何使嵌套菜单的最后一个元素可点击?
- excel - 类似名称的数组变体
- matlab - 不同边缘检测器的阈值是否具有可比性?
- ios - 如何在 UIAlertAction 之后调用函数 [做某事]?
- oauth-2.0 - 如果范围发生变化,如何在不影响生产的情况下重新提交 google oauth 验证
- glut - 当窗口不可见时,GLUT 动画导致 1 个核心的 100% 利用率
- jquery - 如何将“多级菜单添加到汉堡菜单”
- go - 由于导入错误,比赛检测器无法运行。端口运行时/竞赛:在任何 GOROOT 或 GOPATH 中都找不到包“运行时/竞赛”
- virtual-machine - 如何访问我的主机中的虚拟机(通过不同的 IP)?