您的位置:首页 > 产品设计 > UI/UE

easyui中 combogrid控件的loadData方法加载本地数据

2015-10-15 11:48 756 查看
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script id="jquery_183" type="text/javascript" class="library" src="/js/sandbox/jquery/jquery-1.8.3.min.js"></script>
</head>
<link id="others_jquery_easyui_131" rel="stylesheet" type="text/css" class="library" href="/js/sandbox/jquery-easyui/themes/default/easyui.css">
<script id="others_jquery_easyui_131" type="text/javascript" class="library" src="/js/sandbox/jquery-easyui/jquery.easyui.min.js"></script>

<script type="text/javascript">
$(function () {
$("#userreg_middle_zcrj_tb").datagrid({
width: 450,
height: 250,
rownumbers: true,
columns: [[
{ field: 'code', title: 'code', width: 100, editor: { type: 'combobox'} },
{ field: 'name', title: 'name', width: 100, editor: { type: 'combobox'} },
{ field: 'addr', title: 'addr', width: 100, editor: { type: 'text'} },
{ field: 'col4', title: '', width: 50
}
]]
});
$('#cc').combogrid({
panelWidth: 450,
value: 'name',
idField: 'code',
textField: 'name',
columns: [[{ field: 'code', title: 'Code', width: 60 },
{ field: 'name', title: 'Name', width: 100 },
{ field: 'addr', title: 'Address', width: 120 },
{ field: 'col4', title: 'Col41', width: 100}]]
});
var a = [{ code: 1, name: 'aaa', addr: 'aasdf', col4: 'asdfasdfasdf' },
{ code: 1, name: 'aaa', addr: 'aasdf', col4: 'asdfasdfasdf' },
{ code: 1, name: 'aaa', addr: 'aasdf', col4: 'asdfasdfasdf'}];
//  var b = $.parseJSON(a);
$("#userreg_middle_zcrj_tb").datagrid("loadData", a);
$("#cc").combogrid("loadData", a);
});
</script>

<body>
<table id="userreg_middle_zcrj_tb"></table>
<input id="cc" name="dept" value="01"/>
</body>
</html>


  最关键是最后两个loadData,在datagrid中加载成功,在combogrid中加载不成功,而在文档中写着:

组合表格

继承$.fn.combo.defaults和$.fn.datagrid.defaults,使用$.fn.combogrid.defaults重载默认值。

事件

事件继承自定义组合框和数据表格。


就想当然的以为loadData呗combogrid继承过来了。然后一直调试抓狂,今天又把combogrid的文档看了一遍,有这样的一个方法

grid 	none 	返回数据表格对象。


  

突然就豁然开朗了。

只需要把上面的修改成:

$("#cc").combogrid("grid").datagrid("loadData", a);


就解决了

这件事情不熟悉api导致浪费了两天的时间,这个教训告诉我,对于不熟悉的东西要多在文档上找解决方法,包括前几天datagrid编辑的问题,在官方的文档里直接有两个相关的例子。要重视官方文档啊。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: