Опубликован: 15.06.2011 | Доступ: свободный | Студентов: 708 / 59 | Оценка: 4.25 / 4.00 | Длительность: 14:09:00
Самостоятельная работа 13:

Создание простого бизнес-приложения с использованием Visual Studio 2010, Silverlight 4.0 и Expression Blend

< Самостоятельная работа 12 || Самостоятельная работа 13: 12345678 || Лекция 13 >

13.Теперь необходимо добавить два события элементу "DataGrid" и элементу "TextBox".

В "DataGrid" добавляем событие Loaded:


Рис. 25.45.

В "TextBox" событие TextChanged:


Рис. 25.46.

14.Откроем файл EmployeeListing.xaml.cs:


Рис. 25.47.

Содержание файла:

using System; 
 using System.Collections.Generic; 
 using System.Linq; 
 using System.Net; 
 using System.Windows; 
 using System.Windows.Controls; 
 using System.Windows.Documents; 
 using System.Windows.Input; 
 using System.Windows.Media; 
 using System.Windows.Media.Animation; 
 using System.Windows.Shapes; 
 using System.Windows.Navigation; 
  
 namespace SampleBusinessApplication.Views 
 { 
     public partial class EmployeeListing : Page 
     { 
         public EmployeeListing() 
         { 
             InitializeComponent(); 
         } 
  
         // Executes when the user navigates to this page. 
         protected override void OnNavigatedTo(NavigationEventArgs e) 
         { 
         } 
  
         private void TextBox_TextChanged(object sender, TextChangedEventArgs e)
         { 
  
         } 
  
         private void empGrid_Loaded(object sender, RoutedEventArgs e) 
         { 
  
         } 
     }}

15.Добавим пространство имен( namespace ) SampleBusinessApplication.Web.Services в файл EmployeeListing.xaml.cs с помощью фрагмента кода:

using SampleBusinessApplication.Web.Services

16.В событие "empGrid_Loaded" добавим строчки кода:

NwdDomainContext ctx = new NwdDomainContext();
          empGrid.ItemsSource = ctx.Employees;
          ctx.Load(ctx.GetEmployeesQuery());

Где NwdDomainContext ctx = new NwdDomainContext()объект сервиса, который мы создали ранее:


Рис. 25.48.

empGrid.ItemsSource = ctx.Employees – указываем источник, в нашим случае сотрудники.

ctx.Load(ctx.GetEmployeesQuery()); - загрузка данных с помощью метода сервиса GetEmployeesQuery():

Public Iqueryable<Employees> GetEmployees()
{
     return this.ObjectContext.Employees;
}

17.В событие TextBox_TextChanged добавим код:

NwdDomainContext nwr = new NwdDomainContext();
            empGrid.ItemsSource = nwr.Employees;
            nwr.Load(nwr.SelectCountryEmployeeQuery(CountryTextBox.Text));

В данном фрагменте кода используется метод сервиса NwdDomainService – SelectCountryEmployee():

Public Iqueryable<Employees> SelectCountryEmployee(string text)
{
     var query=from Employees in this. ObjectContext.Employees
                  where Employees.Country==text
                  select Employees;
     return query;

}

18.И, в заключении, запустим Silverlight приложение в браузере:

Перейдем на страницу Employee:

Введем в текстовое поле, к примеру, значение "USA". В результате отобразится те сотрудники, которые из страны США:

< Самостоятельная работа 12 || Самостоятельная работа 13: 12345678 || Лекция 13 >