русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

События класса DataView


Дата добавления: 2015-07-09; просмотров: 645; Нарушение авторских прав


 

Disposed -Добавляет обработчик событий, чтобы прослушивать событие Disposed для компонента. (Унаследовано от MarshalByValueComponent.)

Initialized -Происходит при завершении инициализации DataView.

ListChanged -Происходит при изменении списка, управляемого объектом DataView.

 


Пример использования DataView

Первый пример

Полный программный код данного примера находиться в Приложении 1.

Для первого знакомство с классом DataView рассмотрим пример размещенный на msdn.microsoft.com.

Данный пример довольно прост и состоит из трех функций.

1. Функция вывода на консоль содержимого DataTable.

private void PrintTableOrView(DataTable table, string label)

{

// This function prints values in the table or DataView.

Console.WriteLine("\n" + label);

for(int i = 0; i<table.Rows.Count;i++)

{

Console.WriteLine("\table" + table.Rows[i]["item"]);

}

Console.WriteLine();

}

2. Функция вывода на консоль содержимого DataView

private void PrintTableOrView(DataView view, string label)

{

 

// This overload prints values in the table or DataView.

Console.WriteLine("\n" + label);

for(int i = 0; i<view.Count;i++)

{

Console.WriteLine("\table" + view[i]["item"]);

}

Console.WriteLine();

}

3. Функция DemonstrateDataView(), в которой содержится создание и заполнение DataTable начальными данными, создание объектов DataView, добавление данных через DataView. Рассмотрим данную функцию более подробно.

Создадим таблицу «table» состоящую из одного столбца типа String.

DataTable table = new DataTable("table");

DataColumn colItem = new DataColumn("item",

Type.GetType("System.String"));

table.Columns.Add(colItem);



Заполним ее 5 записями.

for (int i = 0; i < 5; i++)

{

NewRow = table.NewRow();

NewRow["item"] = "Item " + i;

table.Rows.Add(NewRow);

}

Изменим 2 произвольные записи, и подтвердим изменения.

table.Rows[0]["item"] = "cat";

table.Rows[1]["item"] = "dog";

table.AcceptChanges();

Создадим 2 объекта DataView для таблицы table.

DataView firstView = new DataView(table);

DataView secondView = new DataView(table);

Установим firstView для отображения предыдущих значений измененных записей, а secondView для отображения новых записей и значений редактированных записей.

firstView.RowStateFilter = DataViewRowState.ModifiedOriginal;

secondView.RowStateFilter = DataViewRowState.ModifiedCurrent

| DataViewRowState.Added;

Проверим работу DataView. Для этого изменим значение одной из записей, но не будем подтверждать изменения, и добавим новую запись в таблицу. И выведем результаты на экран.

PrintTableOrView(table, "Current Values in Table");

firstView.RowStateFilter = DataViewRowState.ModifiedOriginal;

table.Rows[2]["item"] = "hourse";

PrintTableOrView(firstView, "First DataView: ModifiedOriginal");

DataRow rowAdd;

rowAdd = table.NewRow();

rowAdd["item"] = "fish";

table.Rows.Add(rowAdd);

secondView.RowStateFilter = DataViewRowState.ModifiedCurrent

| DataViewRowState.Added;

PrintTableOrView(secondView,

"Second DataView: ModifiedCurrent | Added");

Запустим пример, и посмотрим что будет выведено на экран.

Рис. 1. Скриншот работы примера №1

 

На данном примере видно удобство использование DataView для частичного вывода записей таблицы.

Простой пример взаимодействия автономного DataTable и DataView

Представим себе ситуацию, когда у нас в приложении есть объект DataTable и мы хотим с помощью DataView выводить отсортированные либо отфильтрованные данные. Для этого нам необходимо:

DataTable – в которым будут храниться данные;

DataView – с полем DefaultView, связанным с DataTable;

Данный пример представляет собой консольное приложение. Метод GetTable осуществляет инициализацию переменной table типа DataTable представляющую из себя таблицу, состоящую из трех полей: Индекс, Страну и Название города. Данные таблицы могут считываться из БД, заполняться пользователем, или как было сделано в этом примере, заполняться программно. Код приложения состоит из двух частей – вывод данных на экран отсортированных по умолчанию, и сортировку по произвольному полю, к примеру, по Названию города.

Рис. 2. Скриншот работы консольного приложения из примера №2

 

Более сложный пример с возможностью добавления записей и поиска

Создадим Windows приложение с простым интерфейсом, состоящим из двух компонентов DataGrid (для вывода данных DataTable и DataView), двух текстовых полей (первое – ввода строки для добавления, второе – для отображения индекса текущей строки), и набора кнопок (для выполнения действий по добавлению записей, поиска, и навигации).

Рис. 3. Интерфейс визуального приложения

 

Данное приложение позволяет нам просматривать данные. Также существует возможность добавления данных. Для добавления новой строки следует ввести название города в первое текстовое поле и нажать кнопку «Добавить». Новая строка сразу же отобразиться в таблице на панели «DataView».

Рис. 4. Добавление записи через DataView

Однако добавление новой записи в таблицу становится возможным лишь после явного завершения редактирования предыдущей записи. Без этого попытки создания новой записи блокируются. Завершить редактирование можно командой EndEdit(), принять изменения - AcceptChanges(). Эти действия выполняются при нажатии кнопки «Добавить строку» на панели «DataTable».

Рис. 5. Добавление строки в DataTable

На данном примере мы рассмотрели возможность добавления новых записей через объекты класса DataView.




<== предыдущая лекция | следующая лекция ==>
Методы класса DataView | Заключение


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 4.712 сек.