前幾天接手了一個久遠系統的升級作業,里面用的表格是flexgrid,有一個需求是需要根據欄位的值展示不同的內容,比如1顯示完成,2顯示未完成等等。因為flexgrid的資料現在很難找到,官網也無法訪問了,網上搜索的結果只有一個customValue,但是在原始碼中未找到任何與之相關內容,懷疑資料有誤或者我本身的flexgrid版本問題,最終通過修改原始碼解決了這一問題,記錄一下,方便其它用到這個組件的用戶。
在原始碼中搜索 process僅執行,大約在734行的位置(flexgrid.pack.js),在它的后面增加
if (pth != null) { //process僅執行
if (pth.process)
pth.process(tdDiv, pid);
}
//新增內容
if (pth != null) { //template新增
if (pth.template)
tdDiv.innerHTML=pth.template(tdDiv.innerHTML, pid);
}
同時,搜索$(tr).append(th); 大約在850行左右,在它的上面加入
if (cm.template) {
th.template = cm.template;
}
之后保存,在定義列的時候就可以用
{
display: '結果', name: 'status', width: 100, sortable: false, align: 'left', template: function (value, pid) {
switch (value) {
case 0: return "無"; break;
case 1: return "<span style='color:#019858'>完成</span>"; break;
case 2: return "<span style='color:#F75000'>未完成</span>"; break;
}
}
},
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/267875.html
標籤:JavaScript
上一篇:CS轉BS
