как использовать удаленные данные в списке - PullRequest
0 голосов
/ 18 марта 2012

Я использую веб-службу, поэтому я добавил ссылку на службу в свое приложение.Мне нужно отобразить данные в listBox.для этого я только написал следующий код, но он не работает, и я получаю сообщение об ошибке.Мой код

public Antocids()

    {

        InitializeComponent();

        ObservableCollection<Class1> p = new ObservableCollection<Class1>();
         ServiceReference3.ProductsClient client = new ServiceReference3.ProductsClient();
        client.getProdDetailsCompleted += new EventHandler<ServiceReference3.getProdDetailsCompletedEventArgs>(client_getProdDetailsCompleted);
        client.getProdDetailsAsync();
    }
    private void client_getProdDetailsCompleted(object sender, ServiceReference3.getProdDetailsCompletedEventArgs e)
    {
        ObservableCollection<Class1> p = e.Result; //here I'm getting the error

        listBox1.DataContext=p; 
    }

Пожалуйста, скажите мне точную процедуру

1 Ответ

0 голосов
/ 18 марта 2012

Я полагаю, что ваша справочная служба не возвращает результат типа ObservableCollection<Class1>.В этом случае нет смысла относиться к нему как таковому.Вместо этого вам следует добавить элементы в ObservableCollection, когда вы получите свой результат:

ObservableCollection<Class1> p = new ObservableCollection<Class1>();
public Antocids()
{

    InitializeComponent();
    listBox1.DataContext=p; 

     ServiceReference3.ProductsClient client = new ServiceReference3.ProductsClient();
    client.getProdDetailsCompleted += new EventHandler<ServiceReference3.getProdDetailsCompletedEventArgs>(client_getProdDetailsCompleted);
    client.getProdDetailsAsync();
}
private void client_getProdDetailsCompleted(object sender, ServiceReference3.getProdDetailsCompletedEventArgs e)
{
    p.Clear(); // assuming you want to clear the data each time you get a new result 
    foreach(var result in e.Result)
      p.Add(result) // assuming that e.Result holds an IEnumerable of Class1. 
}

Если ваша служба не возвращает какую-либо коллекцию типа Class1, то вам нужно будет проанализировать ее вручную.в Class1 и затем добавьте его в наблюдаемую коллекцию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...