2015-04-06 32 views
0

我正在使用WCF的silverlight應用程序中工作。我想在數據網格中顯示來自數據庫的特定行。如何使用WCF在ASP.NET c#中顯示一行數據網格

我發現e.result但是這將顯示從數據庫中的整體。

下面是我的代碼:

public TrainingBatchesUsersResults(int TraineeID)//, int TrainingProgramID, int >ReadyContainerID, int TrainingBatch, int ReadyContainerItemID) 
{ 
    InitializeComponent(); 
    XraySimulatorWCFServices.XraySimulatorServiceClient XrayClient =new XraySimulatorWCFServices.XraySimulatorServiceClient(); 

    XrayClient.GetTrainingBatchesUsersResultsCompleted += new EventHandler< 
    XraySimulatorWCFServices.GetTrainingBatchesUsersResultsCompletedEventArgs>(DisplayTrainingBatchesUsersResults); 

    XrayClient.GetTrainingBatchesUsersResultsAsync(TraineeID); 

    LayoutRoot.UpdateLayout(); 
} 

private void DisplayTrainingBatchesUsersResults(object sender, XraySimulatorWCFServices.GetTrainingBatchesUsersResultsCompletedEventArgs e) 
{ 
     dgvResult.ItemsSource = e.Result; 
    dgvResult.Visibility = System.Windows.Visibility.Visible; 
} 
+0

而不是'itemsSource',你試過DataGrid視圖的'DataSource'屬性嗎 – 2015-04-06 10:05:02

+0

Silverlight沒有數據源! – 2015-04-06 10:26:44

+0

您應該只返回一個單一的結果 – 2015-04-06 12:04:41

回答

0

只需設置你的ItemsSource到要顯示的話,而不是整個結果集的單行。例如dgvResult.ItemsSource=e.Result.FirstOrDefault(x=>x.Id==theIdYouWantToShow)

但是你真正想要的是在鏈上進一步做這件事,以便你只返回你想要的單行,而不是返回整個表並減少在客戶端上設置的值。 您的電話XrayClient.GetTrainingBatchesUsersResultsAsync(TraineeID);可能正在返回您的所有行,爲什麼不有一個只返回您感興趣的單個結果的新方法?

相關問題