0

ng-gridデータを表示するためのコンポーネントを使用して、これが誰かが遭遇したであろうことを願っています。

列の 1 つは電話番号です。電話を (123)-123-1234 としてフォーマットする簡単な方法はありますか。

ng-gridコードは次のようになります。

 $scope.gridOptions = { data:'records',
        enableRowSelection:false,
        filterOptions: $scope.filterOptions,
        columnDefs:[
            {field:'phoneNumber', displayName:'Phone', width:80} 
        ]};
4

2 に答える 2

0

これがうまくいった解決策の1つです。「row.getProperty(col.field)|phoneNumber」、「phoneNumber」という情報が JSON 文字列に含まれています。コントローラーのコードは、列に対して次のようになります

 $scope.gridOptions = { data:'records',
    enableRowSelection:false,
    filterOptions: $scope.filterOptions,
    columnDefs:[
        {field:'phoneNumber', displayName:'Phone', width:80,cellTemplate:'<div class="ngCellText" ng-class="col.colIndex()"><span ng-cell-text>{{row.getProperty(col.field)|phoneNumber}}</span></div>'}} 
    ]};

html ファイルには、次のコード スニペットがあります。

<div id="controller" data-ng-controller="controller">
    <div class="gridStyle" ng-grid="gridOptions" width="100%"></div>
</div>
 <script type="text/javascript" src="/common/PhoneFormat.js"></script> 
 <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.26/angular.js></script> 
 <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.26/angular-resource.js"></script>
 <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.26/angular-touch.js"></script>
 <script type="text/javascript" src="/common/ng-grid.js"></script>
于 2015-03-11T18:05:23.473 に答える
0

phonenumber フィールドの末尾にある } を次のように置き換えます。

, cellTemplate: " ({{row.getProperty(col.field).substr(0, 3)}}) {{row.getProperty(col.field).substr(3, 3)}} - {{row.getProperty (col.field).substr(6,4)}}"

于 2015-03-10T22:08:37.710 に答える