У меня есть угловая сетка с первой строкой столбца, которая должна отображаться как якорная ссылка или метка, основанная на условии javascript, что значение этой ячейки не начинается с символа «M». Если значение ячейки столбца 1 начинается с символа «M», столбец должен быть меткой, в противном случае это должна быть гиперссылка. Я верю, что мне нужно использовать два разных шаблона ячеек, но не уверен, как вызывать их в событии привязки данных строки uigrid. Ниже приведен код.
Шаблоны для анкора и метки:
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>';
Ниже представлена сетка
$scope.ComfortPlanGrid = {
enableGridMenu: true,
exporterMenuCsv: true,
exporterMenuPdf: false,
gridMenuShowHideColumns: true,
enableRowSelection: false,
enableColumnMenus: false,
enableFiltering: false,
enablePaging: false
};
$scope.ComfortPlanGrid.columnDefs = config.headers.comfortPlansHeadersGrid;
Ниже приведены заголовки сетки
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' }
]};
Любая помощь в том, как этого добиться, приветствуется.