2010-06-08 46 views
2

我想知道是否有可能在後面的代碼中使用FilterDescriptor控件?從後面的代碼使用RIA Services FilterDescriptor

在我的表單頁面加載我在代碼中設置一個網格的數據源的背後,不使用DomainDataSource控制,如:

TestDomainContext context = new TestDomainContext(); 
dataGridEmployees.ItemsSource = context.EmployeePositions; 
context.Load(context.GetEmployeesWithPositionQuery()); 

我有一個文本框,我的網頁,用戶可以輸入上進入過濾員工的位置。

現在是否可以在後面的代碼中將FilterDescriptor添加到DataGrid的源中?或者我手動需要過濾context.GetEmployeesWithPositionQuery的結果,例如在過濾器TextBox的KeyUp事件?

回答

2

它爲我工作如下。

您可以添加DomainDataSource但在XAML從後面的代碼,而不是聲明控制它:

DomainDataSource testDDS.DomainContext = context; 
testDDS.QueryName = "GetEmployeesWithPositionQuery"; 
testDDS.Load; 

然後,我在Set FilterDescriptor in code - C# Silverlight 4 WCF閱讀,你可以落後在代碼中創建一個FilterDescriptor並將其添加到您的DDS :

FilterDescriptor testFilter = new FilterDescriptor() { PropertyPath = "Name", 
Operator = FilterOperator.Contains }; 
Binding nameBinding = new Binding("Text") { ElementName = "txtFilterName" }; 
BindingOperations.SetBinding(testFilter, FilterDescriptor.ValueProperty, nameBinding); 
testDDS.FilterDescriptors.Add(testFilter); 

希望這有助於

翻轉

+0

我在後面的代碼中定義了,我的意思是如何調用這個方法 – GANI 2013-03-19 23:08:29