2016-11-22 32 views
1

我想知道是否有方法來顯示例如一個表格中的ID作爲另一個對象的另一個名稱,因爲它們的ID是彼此對應的。在表中顯示ID作爲另一個名字

我想要做的是以類似的方式顯示它,如果有類似的東西?

<td class="tableRowText"><p>{{l.SenderId}}</p></td> 

以這種方式。

ng-options="x.ProcessId as x.Name for x in PL" 

所以這將是這樣的:

<td class="tableRowText"><p>{{l.SenderId}} as x.Name for x in PL</p></td> 

一廂情願! :P希望你們明白我只是想解決我的問題。

提前致謝!

_____________編輯:_____________________

因此,這是表和我如何請求數據。

app.factory('getTableGridDataService', function ($resource, config) { 
 
    return $resource(config.apiURL + '/Logs/GetLogEvents', {}, { 'post': { method: 'POST' } }) 
 
}); 
 

 

 

 
scope.loggItems = []; 
 
    $scope.fillRealTable = function() { 
 
     var arrayBody = {   
 
      Sending: $scope.paramSending, 
 
      Receiving: $scope.paramReceiving, 
 
      Logging: $scope.paramLogging, 
 
     }; 
 
     var query = postTableGridDataService.post({}, arrayBody); 
 
     query.$promise.then(function (data) { 
 
      var loggItemList = data; 
 
\t \t \t 
 
      $scope.loggItems = loggItemList 
 
     }) 
 
    }
<table class="table table-striped table-condensed table-hover" id="MainTable"> 
 
\t <thead> 
 
\t \t <tr> 
 
\t \t \t <th ng-click="sort('SenderId')" style="cursor:pointer;"> 
 
\t \t \t \t Sender 
 
\t \t \t \t <span class="glyphicon glyphicon-sort" ng-show="sortKey=='SenderId'" ng-class="{'glyphicon glyphicon-menu-up':reverse, 'glyphicon glyphicon-menu-down':!reverse}"></span> 
 
\t \t \t </th> 
 

 
\t \t \t <th ng-click="sort('ReceiverId')" style="cursor:pointer;"> 
 
\t \t \t \t Reciever 
 
\t \t \t \t <span class="glyphicon glyphicon-sort" ng-show="sortKey=='ReceiverId'" ng-class="{'glyphicon glyphicon-menu-up':reverse, 'glyphicon glyphicon-menu-down':!reverse}"></span> 
 
\t \t \t </th> 
 

 
\t \t \t <th ng-click="sort('LoggingId')" style="cursor:pointer;"> 
 
\t \t \t \t Logging source 
 
\t \t \t \t <span class="glyphicon glyphicon-sort" ng-show="sortKey=='LoggingId'" ng-class="{'glyphicon glyphicon-menu-up':reverse, 'glyphicon glyphicon-menu-down':!reverse}"></span> 
 
\t \t \t </th> 
 
\t \t </tr> 
 
\t </thead> 
 
\t <tbody> 
 
\t \t <tr dir-paginate="l in loggItems.LogEventList|filter:search|orderBy:sortKey:reverse|itemsPerPage:15" pagination-id="mainPagination"> 
 

 
\t \t \t <td class="tableRowText"><p>{{l.SenderId}}</p></td> 
 
\t \t \t <td class="tableRowText"><p>{{l.ReceiverId}}</p></td> 
 
\t \t \t <td class="tableRowText"><p>{{l.LoggingId}}</p></td> 
 
\t \t </tr> 
 
\t </tbody> 
 
</table>

我也從我的API另一個對象,其中我有名字搬出ID,Reciever-ID和記錄-ID,我想在表格中顯示,而不是那些名字的id從我的對象在我顯示在桌面。我如何實現這一目標?

其他對象與相應的ID和名稱:

app.factory('getSearchFormData', function ($resource, config) { 
 
    return $resource(config.apiURL + '/SearchFormObj/getSearchFormItems', {} ,{'get': {method:'GET'}}) 
 
}); 
 

 

 
$scope.SL = []; 
 
function SearchData() { 
 
    var query = getSearchFormData.get(); 
 
    query.$promise.then(function (data) { 
 
    $scope.SL = data.SystemList; 
 
    console.log($scope.SL); 
 
    }); 
 
}; 
 
SearchData()

這裏是將對象從getSearchFormData返回:

returned Data

+0

我很困惑你在問什麼。你能發佈一些示例數據嗎?你是說你有兩組數據,其中的ID是共同的,你想顯示一組數據中的ID,而另一組中的ID是相同的? 「tr」的'ng-repeat'的數據是否沒有名稱? – machinehead115

+0

我想要做的是有一個ID(這是放置在我的一個錶行中的單元格中)顯示爲其相應的名稱(存在於另一個對象中)是否有可能改變視覺方面,使id在表中顯示名稱而不是動態? – John

+0

有幾種不同的方法可以解決這個問題。你可以發佈一些示例數據,以便我能更好地瞭解如何處理它? – machinehead115

回答

0

的基本思想是在你的控制器,這取決於兩種服務,你等待兩個承諾重新解決問題,然後遍歷您的日誌項目,並用名稱替換ID,或者將名稱添加到每個日誌項目,如果您想保留ID。

$scope.fillRealTable = function() { 
    var arrayBody = {   
     Sending: $scope.paramSending, 
     Receiving: $scope.paramReceiving, 
     Logging: $scope.paramLogging, 
    }; 
    var p1 = postTableGridDataService.post({}, arrayBody).$promise; 
    var p2 = getSearchFormData.get().$promise; 

    //it might be $q.all([p1.promise,p2.promise]) 
    $q.all([p1,p2]).then(function(data1, data2) { 
     var loggItemList = data1; 
     var SL = data2.SystemList; 

     loggItemList.forEach(function (item) { 
      item.SenderName = SL[item.SenderId].name; 
      item.ReceiverName = SL[item.ReceiverId].name; 
      item.LogginName = SL[item.LogginId].name; 
     }); 

     $scope.loggItems = loggItemList; 
    }); 
} 

在foreach的代碼都是猜測,因爲你不提供由getSearchFormData返回的數據的結構,所以這個例子說明它的鍵是該ID的一個對象的鍵值列表。例如:

{ 
    "A001" : { name: "John Smith" }, 
    "B001" : { name: "Bruce Wayne" } 
} 

PS:此方法的替代方法是將整個映射getTableGridDataService,並有服務呼叫對方,這意味着你的觀點的邏輯仍然很簡單,因爲它會收到完整的結果服務。

相關問題