easyui的datagrid的列checkbox自定義增加disabled選項


  需求根據權限判斷datagrid的每一列的checkBox是否可選,看了下文檔,發現editor的checkbox應該能實現這個功能,但我們項目自己將easyui外面包了一層,把原生的editor改成了浮動形式的,並且由外面包那一層那初始化這個浮動的editor。而我要改的地方沒有用外面包這樣一層,如果用的話會很麻煩,牽扯的地方很多,於是就只有在Column的checkBox屬性上想辦法了。

  看easyui的源代碼,找到defaultView的renderRow方法,在渲染checkBox的地方cc.push('input type='checkbox')加上判斷if(col.checkFormatter)就調用checkFormatter方法,獲得visible,checked,enabled屬性,然后用這些屬性渲染那個input就可以了。

  然后在column的屬性里加上這兩個屬性:checkbox:true,checkFormatter:function(fied,rowData,rowIndex){return {visible:,checked:,enabled:}},這里調用這個方法的時候將三個參數傳進去了,並且將this指針也改變了。col.checkFormatter.call(col,rowData[field],rowData,rowIndex)。

  其實更好的方式可以把這兩個屬性合並成一個屬性,就用checkBox就可以,先判斷checkBox是不是boolean類型的,如果是就直接過,如果不是那么看看是不是對象,再從對象里找想要的屬性。


免責聲明!

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



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