我有一個配置文件中有5個列名,我讀入了一個名爲javascript的數組中的列。如何在ng-grid列標題中呈現html格式的文本
var columns = [];
var columnNames = [];
var columnCount = 5;
$scope.nettingGridOptions = {
data : 'tableData',
columnDefs: 'columnNames'
}
接下來,我只是通過列數組並columnNames
陣列,這樣我的NG網開始顯示正確displayName
賦值。
for(i=0;i<columnCount;i++)
{
columnNames[i] = { field: i, displayName: columns[i], headerClass : "myPersonalHeaderClass"};
}
我遇到的問題是列名太大。我想拆分列名(例如,「AAAAAAAA bbbbbbbbbb CCCCCCCC」成三排,併爲
AAAAAAAAA
bbbbbbbbb
ccccccccc
存儲這些列名的配置文件中顯示的列名,我試圖編輯有一個<BR>標籤無論我想分割,但是當頁面呈現
標籤是沒有得到解釋,我看到了列名作爲AAAAAAAA <BR> bbbbbbbbbb <BR> CCCCCCCC
我認爲我必須使用headerCellTemplate
,但我不確定該怎麼做才能告訴它將{{col.displayName}}
呈現爲HTML。
在看到lort給出的答案之後(請參閱下面的第一個答案) - 我嘗試了一些東西,仍然無法工作。
你好,
感謝LORT,我是想作爲https://github.com/angular-ui/ng-grid/wiki/Templating描述使用模板。
這就是我所做的(將你使用ng-html-bind的建議與上面的鏈接建議更新模板的方式合併)。
var myHeaderCellTemplate = '<div class="ngHeaderSortColumn {{col.headerClass}}" ng-style="{\'cursor\': col.cursor}" ng-class="{ \'ngSorted\': !noSortVisible }">'+
'<div ng-click="col.sort($event)" ng-class="\'colt\' + col.index" class="ngHeaderText" ng-bind-html="col.displayName"></div>'+
'<div class="ngSortButtonDown" ng-show="col.showSortButtonDown()"></div>'+
'<div class="ngSortButtonUp" ng-show="col.showSortButtonUp()"></div>'+
'<div class="ngSortPriority">{{col.sortPriority}}</div>'+
'<div ng-class="{ ngPinnedIcon: col.pinned, ngUnPinnedIcon: !col.pinned }" ng-click="togglePin(col)" ng-show="col.pinnable"></div>'+
'</div>'+
'<div ng-show="col.resizable" class="ngHeaderGrip" ng-click="col.gripClick($event)" ng-mousedown="col.gripOnMouseDown($event)"></div>';
for(i=0;i<columnCount;i++)
{
columnNames[i] = { field: i, displayName: columns[i], headerClass : "myPersonalHeaderClass", headerCellTemplate: myHeaderCellTemplate};
}
當我這樣做時,列標題變成空白!幫幫我!
您可能也可以在表格單元格上設置最大寬度以強制文本轉到下一行 – krilovich
我有可調整大小的列。當我縮小它們時,列文本開始顯示爲aaaaaaa bbb .....所以一直纏繞到下一行,它開始消失與尾隨點...... – user2920020
這是類似的: http://stackoverflow.com/questions/24241510/wrapping-words-in-the-ng- grids-header – Andres