1.初始化DataGrid2次加载问题
是因为采用了Js和Html初始化,解决办法,采用一种方式初始化
采用JS和Html初始化的话,将Html的class="easyui-datagrid" 去掉
或者直接采用Html初始化
下面是我的初始化代码
<table id="dg" class="easyui-datagrid" data-options="url:‘@Url.Action("GetList")‘,iconCls: ‘icon-save‘,fit: true,pagination: true,rownumbers: true,singleSelect:true,idField: ‘UnloadID‘,toolbar: ‘#tb‘">
<thead>
<tr>
<th data-options="field:‘ck‘, checkbox:true"></th>
<th data-options="field:‘IsState‘,width:80,formatter:formatstate">状态</th>
<th data-options="field:‘PlaceCode‘,width:65">货位</th> <th data-options="field:‘OperateDate‘,width:120">操作日期</th>
</tr>
</thead>
</table>
2.DataGrid 传递参数 加载2次问题
解决方法 直接修改参数
例如
var queryParams = { startdate: $(‘#qstartDate‘).datebox(‘getText‘),
carCode: $(‘#qcarCode‘).val(),
batchCode: $(‘#qbatchCode‘).combogrid(‘getValue‘) }
//查询参数直接添加在queryParams中
$(‘#dg‘).datagrid(‘options‘).queryParams = queryParams;
$("#dg").datagrid(‘reload‘);
3.使用Form的Load方法加载数据,引起其他控件的事件,例如Select的OnSelect事件,直接用Val不会
解决办法,定义全局变量,当Load数据时,Onselect事件取消
事例代码
$(‘#isLoad‘).attr("value", ‘1‘);
$(‘#ff‘).form(‘load‘, data);
------------------------
onSelect: function (rec, row) {
//数据加载标志
var flag = $("#isLoad").val();
if (flag == 0) {
//未加载
}
}