0

私はcolumnNamesをオブジェクトの内部に動的に取得します。そのオブジェクトの内部にあるそのプロパティだけを表示したいだけです。テーブルデータにcolumnNamesをマップし、そのデータのみをuigridに表示する方法

これは私のcolumnNames

$scope.columnNames=[ 
{"field":"firstName"}, 
{"field":"lastName"}, 
{"field":"id"},//i can get "id" or "name" or anything it comes dynamically 
{"field":"employed"} 
]; 

で、私はこれを実行すると、この $scope.gridOptions.data = [ { "firstName": "Cox", "lastName": "Carney", "id": "{'id':'1','name':'Syed'}", "employed": true }, { "firstName": "Lorraine", "lastName": "Wise", "id": "{'id':'2','name':'Rasheed'}", "employed": false }, { "firstName": "Nancy", "lastName": "Waters", "id": "{'id':'3','name':'Emir'}", "employed": false } ];

のようなデータがid列にオブジェクト全体"{'id':'3','name':'Emir'}"を取得していますが、私はにのみそのidプロパティの値をしたい取得その列に表示されます。 このplnkr

は、idフィールドにJSONから

angular.forEach($scope.gridOptions.data, function(value, key) { 
    var parsedId = angular.fromJson(value.id.replace(/'/g, '"')); 
    value.id = parsedId.id; 
    }); 

をIDを解析するために、次のコードを追加しても参照してください、あなたのJSONのように思えるが「 "delemitedの代わりにされ、これはhttp://plnkr.co/edit/AMeTxuMMBmfVt9f0t7HZ?p=preview

答えて

0

私plunkerですJSONを解析できるように文字列を置き換えなければなりませんでしたが、JSONフォームサーバーが適切なものになっていれば、それは必要ありません。

0

0を試してみてくださいを$scope.columnNamesに設定します。

ちょうどこのよう$scope.columnNamescellTemplate: '<span>{{COL_FIELD[col.field]を追加します。

$scope.columnNames=[ 
     {"field":"firstName"}, 
     {"field":"lastName"}, 
     {"field":"id", cellTemplate: '<span>{{COL_FIELD[col.field]}}</span>'}, //this cellTemplate works for "id" or "name" or anything 
     {"field":"employed"} 
    ]; 

あなたが動的に$scope.columnNamesを取得しているので、あなたがこのようなcellTemplate追加することができます。

$scope.columnNames[2].cellTemplate='<span>{{COL_FIELD[col.field]}}</span>'; 

をこのplnkr

を参照してください。
関連する問題