改写ui-grid headerCellTemplate

本文介绍如何通过修改 UI Grid 的头部单元格模板实现自定义显示效果,并加入信任 HTML 过滤器确保安全呈现富文本内容。
改写ui-grid headerCellTemplate  myHeaderCellTemplate  中为uigrid表头模板,
此处copy过来,改写           

/**改写ui-grid myHeaderCellTemplate,注意必须增加 trustHtml过滤器(在模块中增加)
* 取代原有的 CUSTOM_FILTERS ***
     * myApp.filter('trustHtml', function ($sce) {
     *      return function (input) { 
     *          return $sce.trustAsHtml(input);
     *      }
     *  }); 
     * **/
    //原:<span class="ui-grid-header-cell-label" ui-grid-one-bind-id-grid="col.uid + '-header-text'"> {{ col.displayName CUSTOM_FILTERS }}</span>
    //现:<span class="ui-grid-header-cell-label" ui-grid-one-bind-id-grid="col.uid + '-header-text'" ng-bind-html="col.displayName | trustHtml"></span>
    var myHeaderCellTemplate =`<div role="columnheader" ng-class="{ 'sortable': sortable }"
        ui-grid-one-bind-aria-labelledby-grid="col.uid + '-header-text ' + col.uid + '-sortdir-text'"
        aria-sort="{{col.sort.direction == asc ? 'ascending' : ( col.sort.direction == desc ? 'descending' : (!col.sort.direction ? 'none' : 'other'))}}">
        <div role="button" tabindex="0" class="ui-grid-cell-contents ui-grid-header-cell-primary-focus"
            col-index="renderIndex" title="TOOLTIP">
            <span class="ui-grid-header-cell-label" ui-grid-one-bind-id-grid="col.uid + '-header-text'" ng-bind-html="col.displayName | trustHtml">         
            </span> 
            <span ui-grid-one-bind-id-grid="col.uid + '-sortdir-text'"
            ui-grid-visible="col.sort.direction" aria-label="{{getSortDirectionAriaLabel()}}">
            <i ng-class="{ 'ui-grid-icon-up-dir': col.sort.direction == asc, 'ui-grid-icon-down-dir': col.sort.direction == desc, 'ui-grid-icon-blank': !col.sort.direction }"
            title="{{isSortPriorityVisible() ? i18n.headerCell.priority + ' ' + ( col.sort.priority + 1 ) : null}}"
            aria-hidden="true">
            </i>
            <sub ui-grid-visible="isSortPriorityVisible()" class="ui-grid-sort-priority-number">
                {{col.sort.priority + 1}}
            </sub>
            </span>
        </div> 
     <div role="button" tabindex="0" ui-grid-one-bind-id-grid="col.uid + '-menu-button'"
         class="ui-grid-column-menu-button"
         ng-if="grid.options.enableColumnMenus && !col.isRowHeader
&& col.colDef.enableColumnMenu !== false"
         ng-click="toggleMenu($event)"
         ng-class="{'ui-grid-column-menu-button-last-col': isLastCol}"
         ui-grid-one-bind-aria-label="i18n.headerCell.aria.columnMenuButtonLabel"
         aria-haspopup="true">
         <i class="ui-grid-icon-angle-down" aria-hidden="true">
          
        </i>
    </div> 
</div>`;
 function rebuildColumnDefs(data){
   var columnDefs = []; 
      if(data && data.length){
         data.forEach(function(val,idx){
           columnDefs.push({
                name: val.data,
                displayName: val.title, 
                minWidth: 150, 
           //headerCellTemplate: '<div class="">Name \n (editable)</div>'
//这种方式会改变表头样式和相关功能,只能在极其简单情况下使用
  //headerCellTemplate: '<div style="text-align:center;">'+val.title+'</div>'
               headerCellTemplate:myHeaderCellTemplate 
          });
      }); 
    }
    return columnDefs;
  }

void KeySelfSet::on_cBox_muteKey_currentIndexChanged(int index) { for(int i = 0; i < 8; ++i) { ui->cBox_muteAct->setItemData(i, QVariant(-1), Qt::UserRole - 1); ui->cBox_playAct->setItemData(i, QVariant(-1), Qt::UserRole - 1); ui->cBox_EQAct->setItemData(i, QVariant(-1), Qt::UserRole - 1); } if(index == ui->cBox_playKey->currentIndex()) { ui->cBox_muteAct->setItemData(ui->cBox_playAct->currentIndex(), QVariant(0), Qt::UserRole - 1); ui->cBox_playAct->setItemData(ui->cBox_muteAct->currentIndex(), QVariant(0), Qt::UserRole - 1); } if(index == ui->cBox_EQKey->currentIndex()) { ui->cBox_muteAct->setItemData(ui->cBox_EQAct->currentIndex(), QVariant(0), Qt::UserRole - 1); ui->cBox_EQAct->setItemData(ui->cBox_muteAct->currentIndex(), QVariant(0), Qt::UserRole - 1); } if(ui->cBox_playKey->currentIndex() == ui->cBox_EQKey->currentIndex()) { ui->cBox_playAct->setItemData(ui->cBox_EQAct->currentIndex(), QVariant(0), Qt::UserRole - 1); ui->cBox_EQAct->setItemData(ui->cBox_playAct->currentIndex(), QVariant(0), Qt::UserRole - 1); } } void KeySelfSet::on_cBox_playKey_currentIndexChanged(int index) { for(int i = 0; i < 8; ++i) { ui->cBox_muteAct->setItemData(i, QVariant(-1), Qt::UserRole - 1); ui->cBox_playAct->setItemData(i, QVariant(-1), Qt::UserRole - 1); ui->cBox_EQAct->setItemData(i, QVariant(-1), Qt::UserRole - 1); } if(index == ui->cBox_muteKey->currentIndex()) { ui->cBox_playAct->setItemData(ui->cBox_muteAct->currentIndex(), QVariant(0), Qt::UserRole - 1); ui->cBox_muteAct->setItemData(ui->cBox_playAct->currentIndex(), QVariant(0), Qt::UserRole - 1); } if(index == ui->cBox_EQKey->currentIndex()) { ui->cBox_playAct->setItemData(ui->cBox_EQAct->currentIndex(), QVariant(0), Qt::UserRole - 1); ui->cBox_EQAct->setItemData(ui->cBox_playAct->currentIndex(), QVariant(0), Qt::UserRole - 1); } if(ui->cBox_muteKey->currentIndex() == ui->cBox_EQKey->currentIndex()) { ui->cBox_muteAct->setItemData(ui->cBox_EQAct->currentIndex(), QVariant(0), Qt::UserRole - 1); ui->cBox_EQAct->setItemData(ui->cBox_muteAct->currentIndex(), QVariant(0), Qt::UserRole - 1); } } void KeySelfSet::on_cBox_EQKey_currentIndexChanged(int index) { for(int i = 0; i < 8; ++i) { ui->cBox_muteAct->setItemData(i, QVariant(-1), Qt::UserRole - 1); ui->cBox_playAct->setItemData(i, QVariant(-1), Qt::UserRole - 1); ui->cBox_EQAct->setItemData(i, QVariant(-1), Qt::UserRole - 1); } if(index == ui->cBox_playKey->currentIndex()) { ui->cBox_EQAct->setItemData(ui->cBox_playAct->currentIndex(), QVariant(0), Qt::UserRole - 1); ui->cBox_playAct->setItemData(ui->cBox_EQAct->currentIndex(), QVariant(0), Qt::UserRole - 1); } if(index == ui->cBox_muteKey->currentIndex()) { ui->cBox_EQAct->setItemData(ui->cBox_muteAct->currentIndex(), QVariant(0), Qt::UserRole - 1); ui->cBox_muteAct->setItemData(ui->cBox_EQAct->currentIndex(), QVariant(0), Qt::UserRole - 1); } if(ui->cBox_playKey->currentIndex() == ui->cBox_muteKey->currentIndex()) { ui->cBox_playAct->setItemData(ui->cBox_muteAct->currentIndex(), QVariant(0), Qt::UserRole - 1); ui->cBox_muteAct->setItemData(ui->cBox_playAct->currentIndex(), QVariant(0), Qt::UserRole - 1); } } 简写
最新发布
09-26
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值