2011-11-22 73 views
0

我想用我的數據庫中的數據填充一個數據網格(稱爲dgDeelnemers),我使用以下LINQ方法。用LINQ填充dataGrid返回IEnumerable?

[OperationContract] 
public IEnumerable<Inschrijvingen> getInschrijvingen() 
{ 
    var query = (from p in dc.Inschrijvingens select p); 

    IEnumerable<Inschrijvingen> i = query; 

    return i; 
} 

然後我使用下面的代碼將數據分配給視圖中的數據網格。

public partial class Deelnemers : UserControl 
    { 
     public Deelnemers() 
     { 
      InschrijvingenServiceClient client = new InschrijvingenServiceClient(); 

      client.getInschrijvingenCompleted += new EventHandler<getInschrijvingenCompletedEventArgs>(client_getInschrijvingenCompleted); 
      client.getInschrijvingenAsync(); 
     } 

     void client_getInschrijvingenCompleted(object sender, getInschrijvingenCompletedEventArgs e) 
     { 

      if (e.Error != null) 
       lblDeelnemers.Content = e.Error.ToString(); 
      else 
       dgDeelnemers.ItemsSource = e.Result; 
     } 
    } 

但是,當我瀏覽網頁我得到以下錯誤:

Object reference not set to an instance of an object. at OndernemersAward.Views.Deelnemers.client_getInschrijvingenCompleted(Object sender, getInschrijvingenCompletedEventArgs e) at OndernemersAward.InschrijvingenServiceReference.InschrijvingenServiceClient.OngetInschrijvingenCompleted(Object state)

我不知道是什麼導致了這一點,但「我」,我認爲返回值是正確的。

enter image description here

感謝您抽出時間來閱讀這幫助我,我非常感激! Thomas

+0

是你想添加到另一個用戶控件(即SL頁)或者是一個用戶控件上面的代碼頁面本身? –

+0

是的,這是一個用戶控件,我試圖把它放到我的主要silverlight頁面中。 (我使用urimapper導航到它) – Schoof

+1

我沒有看到InitializeComponent() –

回答

1

你沒有的InitializeComponent()

(從我的意見採取):)

0

您確定您的控件在事件發生時已渲染?看起來像lblDeelnemersdgDeelnemers爲空。也許不要在控件加載完成之前調用client.getInschrijvingenAsync();