2016-10-23 5 views
0

첫 번째 열이있는 모눈 모양이 앵커 링크 또는 해당 셀 값의 자바 스크립트 조건을 기반으로 한 레이블로 표시되어야합니다. 문자 'M'으로 시작하지 않습니다. 열 1의 셀 값이 문자 'M'로 시작하면, 열은 shpuld가 레이블이됩니다. 그렇지 않으면 hyeprlink 여야합니다. 나는 두 개의 다른 셀 템플릿을 사용해야한다는 것을 알고 있지만 uigrid의 행 databind 이벤트에서 이들을 호출하는 방법을 모르겠습니다. 아래는 코드입니다. 앵커 및 레이블셀 값을 기반으로하는 셀 템플릿

템플릿 :

var linkCellTemplate = '<div class="ngCellText" ng-class="col.colIndex()">' + 
       ' <a class="text-blue-color text-underline" href="' + getURL() + '/ClaimDetail/Index?TagNumber={{row.entity.TagNumber}}&from=linkcomfort&Style=' + Style + '" target="_blank";">{{row.entity.TagNumber}}</a>' + 
       '</div>'; 
var labelCellTemplate = '<div class="ngCellText" ng-class="col.colIndex()">' + 
       ' <label>{{row.entity.TagNumber}}</label>' + 
       '</div>'; 

다음은 아래 표는

var headers = { 
    comfortPlansHeadersGrid: [ 
     { field: 'TagNumber', width: 130, displayName: 'Claim Tag Nbr', cellTemplate: linkCellTemplate }, 
     { field: 'CustomerNumber', width: 200, displayName: 'Customer/Dealer' }, 
     { field: 'Status', width: 80, cellTooltip: true }, 
     { field: 'StatusDate', width: 175, displayName: 'Status Date' }, 
     { field: 'Description', displayName: 'Description', width: 270, cellTemplate: claimDetailTemplate }, 
     { field: 'ContractNumber', width: 200, displayName: 'Contract Number', headerTooltip: 'Contract Number' }, 
     { field: 'ServiceDate', width: 175, displayName: 'Service Date', headerTooltip: 'Service Date' } 
    ]}; 

이 감사 달성하는 방법에 어떤 도움을 헤더입니다 그리드

 $scope.ComfortPlanGrid = { 
     enableGridMenu: true, 
     exporterMenuCsv: true, 
     exporterMenuPdf: false, 
     gridMenuShowHideColumns: true, 
     enableRowSelection: false, 
     enableColumnMenus: false, 
     enableFiltering: false, 
     enablePaging: false   

    }; 
    $scope.ComfortPlanGrid.columnDefs = config.headers.comfortPlansHeadersGrid; 

입니다.

+0

암 관련 컬럼에 coldef에 celltemplate 추가를 셀 서식 아래하지만 난 자바 스크립트 함수 다른 전화를하고 싶습니다 또한 celltemplate 내부의 유효성 검사를 위해. 모든 아이디어는 ng-if에서 javascript 함수를 호출하는 방법에 대해서도 높이 평가됩니다. – sam

+0

셀 템플릿 코드가 업데이트되었습니다. var linkCellTemplate = '

' + ''+ '
'+ '
'; – sam

답변

0

아래 코드를 사용해보십시오 :

을 사용하여 유효성 검사를 acheive 할 수

cellTemplate: DisplayConditionalTemplate(value) 


function DisplayConditionalTemplate(value){ 
var linkCellTemplate = '<div class="ngCellText" ng-class="col.colIndex()">' +' <a class="text-blue-color text-underline" href="' + getURL() + '/ClaimDetail/Index?TagNumber={{row.entity.TagNumber}}&from=linkcomfort&Style=' + Style + '" target="_blank";">{{row.entity.TagNumber}}</a>' +     '</div>'; 
var labelCellTemplate = '<div class="ngCellText" ng-class="col.colIndex()">'+' <label>{{row.entity.TagNumber}}</label>' +     '</div>'; 

if(value.charAt(0) === 'M') 
    return labelCellTemplate; 
else 
    return linkCellTemplate; 
} 
관련 문제