Опубликован: 07.05.2010 | Доступ: свободный | Студентов: 1676 / 62 | Оценка: 4.56 / 4.06 | Длительность: 34:11:00
Специальности: Программист, Архитектор программного обеспечения, Разработчик интернет-проектов
Теги:
Лекция 12:
Компоненты данных ADO.NET
Сортировка извлеченных автономных данных с помощью DataView
Приведем пример страницы, в которой используем три разных представления одной и той же таблицы в наборе данных.
-
Скопируйте страницу GridViewEmployees.aspx и дайте ей имя GridViewDataView.aspx
При копировании не забудьте на странице в директиве @Page исправить параметр Inherits="GridViewDataView" а в файле поддержки переопределить имя класса на GridViewDataView
- Поместите на страницу дополнительные элементы управления GridView так, чтобы они располагались друг за другом по вертикали в порядке GridView1, GridView2, GridView3
- Вставьте перед каждым элементом строку-заголовок
Интерфейс страницы на этапе проектирования должен быть таким
-
Отредактируйте файл поддержки страницы следующим образом
using System; using System.Data; using System.Web.Configuration; using System.Data.SqlClient; public partial class GridViewDataView : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { // Содать Connection, DataAdapter и DataSet string connectionString = WebConfigurationManager. ConnectionStrings["Northwind"].ConnectionString; SqlConnection con = new SqlConnection(connectionString); string sql = "SELECT TOP 5 EmployeeID, TitleOfCourtesy, LastName, " + "FirstName FROM Employees"; SqlDataAdapter adapter = new SqlDataAdapter(sql, con); DataSet dataset = new DataSet(); adapter.Fill(dataset, "EmployeesTable"); // Привязать данные к GridView1 для отображения // без сортировки как они есть GridView1.DataSource = dataset.Tables["EmployeesTable"]; // Скопировать данные в экземпляр класса DataView, // отсортировать по полю FirstName, затем привязать DataView view2 = new DataView(dataset.Tables["EmployeesTable"]); view2.Sort = "FirstName"; GridView2.DataSource = view2; // Скопировать данные в экземпляр класса DataView, // отсортировать по полю FirstName, затем привязать DataView view3 = new DataView(dataset.Tables["EmployeesTable"]); view3.Sort = "LastName"; GridView3.DataSource = view3; // Загрузить привязанные данные во все элементы отображения GridView Page.DataBind(); } }
- Исполните страницу GridViewDataView.aspx, чтобы получить следующий результат
Несортированные данные
EmployeeID | TitleOfCourtesy | LastName | FirstName |
---|---|---|---|
1 | Ms. | Davolio | Nancy |
2 | Dr. | Fuller | Andrew |
3 | Ms. | Leverling | Janet |
4 | Mrs. | Peacock | Margaret |
5 | Mr. | Buchanan | Steven |
Сортированы по полю FirstName
EmployeeID | TitleOfCourtesy | LastName | FirstName |
---|---|---|---|
2 | Dr. | Fuller | Andrew |
3 | Ms. | Leverling | Janet |
4 | Mrs. | Peacock | Margaret |
1 | Ms. | Davolio | Nancy |
5 | Mr. | Buchanan | Steven |
Сортированы по полю LastName