2014-03-19 16 views
0

我有一個NG-格在我的申請,應利用在NG-網格單元的字,使第一個字符會是大寫。 我該怎麼做?NG-電網改變第一串字符以大寫在cellTemplate

我試圖用cellTemplate財產在該領域中的NG-網格狀如下:

field : 'myField',        
         displayName : '',       
         cellTemplate : '<div class="ngCellText" ng-style="{\'text-transform\':capitalize;}">{{row.getProperty(col.field)}}</div>'             
         }, { 

當普通HTML網頁它的工作原理測試'text-transform':capitalize。 但在cellTemplate至少沒有像上面的代碼。

有任何想法如何界定成NG-電網?

回答

0

請注意,text-transform: capitalize將每個單詞的第一個字符轉換爲大寫字母,而不僅僅是第一個單詞&hellip;這可能不是您想要的;但是,如果你要大寫每個單詞的第一個字符,你需要寫這樣的電池模板:

$scope.gridOptions.columnDefs[0].cellTemplate: '<div class="ngCellText" ng-class="col.colIndex() style="text-transform:capitalize;">{{COL_FIELD}}</div>'; 

如果只希望整個單元格內容的第一個字符是大寫改造,那麼你可以使用像這樣的過濾器:

app.filter('capitalize', function() { 
    return function (input, scope) { 
    if (input != null) { 
     return input.substring(0,1).toUpperCase() + input.substring(1); 
    } 
    } 
}); 

$scope.gridOptions.columnDefs[0].cellTemplate: '<div class="ngCellText" ng-class="col.colIndex()>{{COL_FIELD | capitalize}}</div>'; 

或者作爲第三個選擇,你可以使用CSS和::first-letter僞元素,像這樣:

div.myCellClass::first-letter { 
    text-transform: capitalize; 
} 

$scope.gridOptions.columnDefs[0].cellTemplate: '<div class="ngCellText myCellClass" ng-class="col.colIndex()>{{COL_FIELD}}</div>'; 
1

您可以使用'cellTemplate'來更改第一個字母大小寫。而不是寫單獨的函數變化cellTemplate喜歡:

{ 
    cellTemplate: '<div>{{row.entity[col.field].substring(0,1).toUpperCase()+ 
      row.entity[col.field].substring(1)}}</div>' 
} 
相關問題