首先這種東西miniui的官網上大多數都是有的,只是找有些麻煩,想深入瞭解請點擊你點我試試!
這段時間的項目使用到了miniui加echarts做前臺顯示,而在做datagrid的表單時,同事遇到一個小bug,就是當點擊操作一欄的排序按鈕時,整個頁面數據就會消失,圖例:
當點擊操作一欄時:
問題解析:
由於操作一欄是前臺生成的,後臺並無值傳遞,所以排序效果是無效的。
解決方法:
1,從後臺傳值,miniui根據"操作"列的field屬性自動進行排序。
2,設置"操作"列的sortField屬性爲指定主鍵,舉個栗子,操作列的排序完全沒有意義,我們可以通過設置sortField="(任務ID)"來進行排序(miniuidatagrid是根據sortfieid來進行排序,如果沒有則按默認的field排序)。代碼如下:
<div field="cmdid" allowSort="true" width="120" align="center" headerAlign="center">任務ID</div>
<div field="taskid" allowSort="true" width="120" align="center" headerAlign="center" renderer="operationRenderer" sortField="cmdid">操作</div>
3,還有一種不算方法的方法,直接禁用這種沒有用的排序列,只需將allowSort的屬性改成flase。代碼如下:
<div field="taskid" allowSort="true" width="120" align="center" headerAlign="center" renderer="operationRenderer" sortField="cmdid">操作</div>
結尾:查找問題的時候,遇到服務器排序和客戶端排序的選擇問題,個人偏向客戶端排序,畢竟服務器端處理的東西已經夠多了,這種排序問題還是交給客戶端來處理好了。
附送傳送門:
miniui服務端排序:http://www.miniui.com/demo/#src=datagrid/sorting.html
miniui客戶端排序:http://www.miniui.com/demo/#src=datagrid/sorting_client.html