Mini操作grid列顯示和隱藏


grid 提供的getColumns()方法可以拿到列,然后對此進行處理。我們在數據加載完成load事件監聽中進行處理:

miniGrid["excelName"] = "考勤統計表";
                   miniGrid.on('load',function(e){
                       var columns = miniGrid.getColumns();
                       if(columns && columns.length>0 ){
                           var count = columns.length;
                           for (var i = 0; i < count; i++) {
                               var column = columns[i];
                               // 根據月份處理列的顯示
                               if(column.field =="28" || column.field =="29" ||column.field=="30"|| column.field=="31"){
                                   var currentDays = window.SysCommon.getYearMonthDays(rykq.timeConditionData.years,parseInt(rykq.timeConditionData.month));
                                   if(parseInt(column.field) > currentDays){
                                       miniGrid.hideColumn(column);
                                   }else{
                                       //miniGrid.showColumnsMenuAtEl(e.target);
                                       miniGrid.showColumn(column);
                                   }
                               }
                           }
                       }
                   });
                   miniGrid.on('drawcell',function(e){
                         var record = e.record;
                         var column = e.column;

                         if (column.field == "C_ORGNAME" || column.field == "C_USEREALNAME" || column.field == "WORK_DATE"
                             || column.field == "MONTH_TOTAL_DAYS" || column.field == "WORK_DAYS" || column.field == "WORK_RATES") {
                             return;
                         }

                         if (undefined == record[column.field]) {
                             column.header=="序號"?"":e.cellHtml = "<span class='red-point' title='曠工'></span>";
                         } else if (parseInt(record[column.field]) == 1) {  //出勤
                             e.cellHtml = "<span class='green-point' title='出勤' ></span>";
                         } else if (parseInt(record[column.field]) == 2) { //請假
                             e.cellHtml = "<span class='orange-point' title='請假' ></span>";
                         } else if (parseInt(record[column.field]) == 3) { //值班
                             e.cellHtml = "<span class='yellow-point' title='值班' ></span>";
                         } else if (parseInt(record[column.field]) == 4) { //學習
                             e.cellHtml = "<span class='purple-point' title='學習' ></span>";
                         } else if (parseInt(record[column.field]) == 5) {  //外勤
                             e.cellHtml = "<span class='pink-point' title='外勤' ></span>";
                         } else if (parseInt(record[column.field]) == 6) {  //培訓
                             e.cellHtml = "<span class='cyan-blue-point' title='培訓' ></span>";
                         } else if (parseInt(record[column.field]) == 7) {  //調休
                             e.cellHtml = "<span class='black-red-point' title='調休' ></span>";
                         } else {
                             e.cellHtml = "<span class='red-point' title='曠工'></span>"; //礦工
                         }

                   })

示例是一個月考勤輸出,根據年月和考勤類型顯示不同的效果。每月天數有28、29、30、31天之分。

 


免責聲明!

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



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