easyui中datagrid組件的formatter屬性無效的解決辦法


使用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.屬性名】訪問。

 

"我們每天努力忙碌,用力生活,卻總在不知不覺之間遺失什么。"


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM