2015-10-19 36 views
0

我有我定義columnDefs的config.json文件。我想將超鏈接文本添加到名稱字段並將其重定向到包含該行信息的頁面。我試着與SO一些例子,但沒有成功..添加超鏈接文本到特定的行ui-grid

config.json

"columnDefs":[ 
     { 
     "name": "name" 
     }, 
     { 
     "name": "object_type_s" 
     } 
    ........ 
    ] 

控制器

$scope.gridOptions = { 
    columndDefs: config.columnDefs, 
    ...... 

}

如果我把cellTemplate在配置文件像這樣

{ 
"name": "name", 
"cellTemplate": "<a href="#">" 
}, 

這將在我的網格中的所有行中添加超鏈接。我想例如以超鏈接只添加到

$ scope.gridOptions.data.object_type ==「東西」

回答

0

當你點擊一個名字,它需要你下一個頁面

$scope.gridOptions = { 
      paginationPageSizes : [ 25, 50, 75 ], 
      paginationPageSize : 25, 
      enableColumnResizing : true, 
      enableSorting : true, 
      enableRowSelection : true, 
      enableSelectAll : true, 
      enableRowHeaderSelection: true, 
      selectionRowHeaderWidth : 35, 
      rowHeight : 35, 
     showGridFooter : true, 

行模板用於獲取上的UI網

 rowTemplate : rowTemplate(), 

     columnDefs : [ 
     { 
     field : 'id', 
     name : 'id', 
     width: 200, 
     }, 
     { 

      field : 'name', 
      name : 'name', 
      width : 120, 
      sort : { 
       priority : 0, 
      }, 
      cellTemplate:'<div >' + '<a href="test.html">'+ '</a>' + '</div>', 
     } 
     } ], 
      onRegisterApi: function(gridApi){ 
       $scope.gridApi = gridApi; 
     } 
    }; 

它得到一排,當我們選擇一個記錄

0123所選的行
function rowTemplate() { 
    return '<div ng-click="grid.appScope.rowDblClick(row);">' + ' <div ng-repeat="(colRenderIndex, col) in colContainer.renderedColumns track by col.colDef.name" class="ui-grid-cell" ui-grid-cell></div>' + '</div>'; 
} 

當你點擊一排,你使用這種方法

$scope.rowDblClick = function(row) { 
    console.log('The selected object id is : ', row.entity.id); 
    console.log('The selected object nameis : ', row.entity.name); 
};