用LINQ填充dataGrid返回IEnumerable?

问题描述:

我想用我的数据库中的数据填充一个数据网格(称为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() –

你没有的InitializeComponent()

(从我的意见采取):)

您确定您的控件在事件发生时已渲染?看起来像lblDeelnemersdgDeelnemers为空。也许不要在控件加载完成之前调用client.getInschrijvingenAsync();