使用easyUI的datagrid組件有的時候需要直接給某列固定值(如操作列)或是對數據進行格式化,這時候就需要formatter屬性。
<table style="width:600px" class="easyui-datagrid" data-options="title:'信息列表',url:'position.json',fitColumns:true, rownumbers:true,singleSelect:true,method:'get'"> <thead> <tr> <th data-options="field:'name',width:2">名稱</th> <th data-options="field:'desc',width:3">描述</th> <th formatter="formatOp" data-options="field:'id',width:1">操作</th> </tr> </thead> </table>
但是在使用中需要格外注意的是,如果某列的field值在前面已經出現過(已經被綁定過),則后面出現的同field列將會按第一次出現的field列使用。這樣的機制就導致了:如果第一次出現的field同值的列沒有formatter,后續的formatter將無效。
知道了問題原因,解決辦法就呼之欲出了,只要將后續出現的列的field改成任意的不存在的列即可,但是要注意不能是空字符串。
另外如果要在formatter函數中需要使用某屬性的值,可以通過function(value,rowData,rowIndex) 第二個參數【rowData.屬性名】訪問。
"我們每天努力忙碌,用力生活,卻總在不知不覺之間遺失什么。"