2010-03-28 31 views
1

在CLIEN方面我有對象名單如下assignement到DataGrid:RIA:如何截取數據

 var customerContext = new RiaTestCustomDomainContext(); 
     CustomerGrid.ItemsSource = customerContext.Customers; 
     customerContext.Load(customerContext.GetCustomersQuery()); 

它的工作原理很好,但我woudl喜歡有物體在同一列表單獨收集並將其用於其他對象羣體。

當我試圖推動customerContext.Customers進入名單,我得到了一個錯誤:

Cannot implicitly convert type 'System.Windows.Ria.EntitySet' to 'System.Collections.ObjectModel.ObservableCollection'

這裏是我試圖編譯代碼:

 var customerContext = new RiaTestCustomDomainContext(); 
     ObservableCollection<Customer> customers = customerContext.Customers; 

請你建議如何才能將數據導入列表<>集合?

謝謝。

回答

1

假設您正在使用代碼背後的代碼或附加到演示文稿XAML的視圖模型。

確保System.Linq位於您的使用列表中。

public class XXX 
{ 
    private CustomerContext _context; 

    private List<Customer> _customers; 

    public XXX() 
    { 
    _customers = new List<Customer>(); 
    LoadData(); 
    } 

    public void LoadData() 
    { 
    LoadOperation<Customer> loader = _context.Load<Customer>(_context.GetCustomerQuery()); 
    loader.Completed += (s,e) => 
     { 
     _customers = (s as LoadOperation<Customer>).Entities.ToList(); 
     }; 
    } 
} 

請記住,您正在使用CustomerContext啓動異步請求。 Completed活動將隨後返回(希望)您的客戶。