Заполнение dataGrid с помощью LINQ вернуло IEnumerable? - PullRequest
0 голосов
/ 22 ноября 2011

Я пытаюсь заполнить сетку данных (называемую dgDeelnemers) данными из моего банка данных, которые я получаю, используя следующий метод LINQ.

[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;
        }
    }

Но при переходе на страницу появляется следующая ошибка:

Ссылка на объект не установлена ​​для экземпляра объекта. в OndernemersAward.Views.Deelnemers.client_getInschrijvingenCompleted (Объект отправитель, getInschrijvingenCompletedEventArgs e) в OndernemersAward.InschrijvingenServiceReference.InschrijvingenServiceClient.OngetInschrijvingenCompleted (Объект состояние)

Я не уверен, что является причиной этого, но возвращаемое значение 'i', я думаю, является правильным.

enter image description here

Спасибо, что нашли время, чтобы прочитать это и помочь мне, я очень ценю это! Томас

Ответы [ 2 ]

1 голос
/ 22 ноября 2011

У вас нет InitializeComponent ()

(взято из моего комментария):)

0 голосов
/ 22 ноября 2011

Вы уверены, что ваш контроль отрисован ко времени наступления события?Похоже, lblDeelnemers или dgDeelnemers пусто.Возможно, не звоните client.getInschrijvingenAsync();, пока не закончится загрузка элемента управления.

...