做新生系统的时候,出现这样一种情况,数据都能显示出来,但是最不事件不能触发:
图示:
代码如下:
<!--学院列表*******start*******胡晓洁 ***********2015年7月12日16:48:53****************************-->
<div id="dginstitution" class="easyui-dialog"
style="width: 650px; height: 400px;" closed="true"
buttons="#reDlg-buttons">
<form id="refm" method="post">
<table id="schoolDg" class="easyui-datagrid" name="schoolDg"
<%-- url="${pageContext.request.contextPath}/queryLeftSchool?buildType=女" --%>
pagination="true"
rownumbers="true" fitColumns="true" toolbar="#reToolbar"
singleSelect="true">
<thead>
<tr>
<th>学院</th>
<th>学生类型</th>
<th>未分配人数</th>
<th data-options="field:'aaa',width:50,align:'center',formatter:formatOper">分配宿舍</th>
</tr>
</thead>
</table>
</form>
</div>
//宿舍楼列表 (查询所有 + 有空缺的宿舍 的宿舍楼列表)
function formatOper(val, row, index) {
return '<span class="icon-edit" plain="true" οnclick="setInstitution('
+ index + ')"> </span>';
}
//弹出分配学院的页面 (查询所有 +未分配宿舍人员+ 性别 的学院列表信息)
function setInstitution(index) {
$('#dgbuild').datagrid('selectRow', index);
var row = $('#dgbuild').datagrid('getSelected');
if (row) {
$('#dginstitution').dialog('open').dialog('setTitle', '选择学院');
$("#dginstitution").dialog(
"move",
{
top : $(document).scrollTop()
+ ($(window).height() - 450) * 0.5
});
$('#schoolDg')
.datagrid(
{
'url' : "${pageContext.request.contextPath}/queryLeftSchool?buildType="
+ row.sex + "&buildId=" + row.id,
columns : [ [ {
field : 'institutionName',
title : '学院',
width : '25%'
}, {
field : 'sex',
title : '学生类型',
width : '18%'
}, {
field : 'studentsCont',
title : '未分配人数',
width : '20%'
}, {
field : 'aaa',
title : '分配宿舍',
width : '20%'
}, ] ]
}
);
}
}
解决方法:
绑定数据时,把该属性绑定上。
{
field: 'aaa',
title: '分配宿舍',
formatter: formatReOper,
width: '20%'
}
这样改函数就能正常使用了。
总结:
1.当我们采用js获取数据源绑定数据源时,easyUI上dataGrid上绑定的属性就会失效,要想使某属性起作用,一定要在js中绑定数据源的部分加上该属性。
2.绑定的field字段名称不可以重复。