Компьютерные книги
Главное меню
Главная Поиск по сайту Добавить материал О нас Карта книг Карта сайта
Реклама
computersbooks.net -> Добавить материал -> Языки программирования -> Ватсон К. -> "С#" -> 386

С# - Ватсон К.

Ватсон К. С# — Лори, 2005 . — 879 c.
ISBN 1-861004-98-2
Скачать (прямая ссылка): vatsonc2005.pdf
Предыдущая << 1 .. 380 381 382 383 384 385 < 386 > 387 388 389 390 391 392 .. 404 >> Следующая


11 обновить знамения

lists.Update(ListID, ListName, ListDescr)i

ListsGrid.Editltemlndex » -1;

BindGrid()t

)

)

Первая процедура ListGrid_Edit(), вызываемая при наступления события, прячет управляющие элементы для включения новой строки и присваивает свойству Ed j 111 cm index в качестве значения индекс редактируемой строки; это значение извлекается из объекта item, который представляется в качестве свойства объекта е, передаваемого функции в качестве параметра. Наконец, опять вызывается метод BindGridt) дня привязки данных текущей строки к двум текстовым окнам. Когда нажимается иконка X, свойству Editltemlndex присваивается -1 н таблица обновляется.
Практический пример 2 — Менеджер рассъыки новостей в режиме онлайн

821

Наибольший интерес представляет то, каким образом происходит обновление строки, осуществляемое процедурой ListGrid_update<). Выполнение кода происходит, только если страница является допустимой, т. е. когда соблюдены все правила проверки допустимости управляющих элементов. В этом случае текстовое окно Name должно содержать допустимое имя, При успешной проверке выполнение функции продолжается, в результате чего извлекаются текущие значения из обоих текстовых окон. Ссылка иа каждое из окон возвращается методом Findcontroi () объекта item, после чего нх содержимое считывается посредством свойства Text. Для считывания текста нз управляющего элемента TextBox необходимо текстовое окно, которое ие возвращается методом Findcontroi () в явном виде, поэтому приходится вручную приводить возвращаемый объект к типу TextBox. Последний необходимый параметр — это идентификатор обновляемой строки, получить который не составляет никакого труда, поскольку данная колонка была объявлена в качестве первичного ключа таблицы данных, поэтому вся работа сводится к считыванию значения свойства. В заключение создается объект ListsDB и вызывается метод update о, которому передается идентификатор списка, а также новые имя н описание; в результате этого изменения вносятся в базу данных, и остается только обновить таблицу, чтобы эти изменения нашли в ней свое отражение.

Удаление списка

Процедура обработки события ListGridjeleteO обладает в точности такой же структурой, что и только что рассмотренные события, хотя она несколько проще; единственный параметр, который необходимо передавать методу Deleted объекта ListsDB,— это идентификатор списка, возвращаемый перечислимым свойством DataKcy!

protected void LiataGricLPelete(object sender, DateGridCommandEventArae e)

(

ShowAddControls(false);

LiatflGrid.Editltemlndex ¦ -1;

NewsMailer.ListsDB lists » new NewsHailer.ListsDB(GetConnString())i // получить идентификатор списка и удалить его Liete,Delete( (int)ListsGrid.DataKeys[e.Item.Iten>Index] II BindGridt);

) «

Создание списка

Последнее, с чем нам осталось познакомиться,— это добавление новой строки. При нажатии кнопки Create на экран выводятся два текстовых окна и соответствующие иконкн для подтверждения нли отказа от выполнения операции, в то время как сама кнопка Create становится невидимой. Кроме того, свойству таблицы данных Editltemlndex присваивается значение -1, что предотвращает выполнение каких бы то ни было операций редактирования. Ннже приводится код для обработки этого события, а также код функции, которая выводит или прячет управляющие элементы в зависимости от значения передаваемого ей логического параметра:

protected void Create_Click(object sender, EventArfle e)

(

II показать диалоговые окна и не для добавления новой записи ShowAddNewControla(true);

ListsGrid.Editltemlndex = -lj Bi: Grid () j

}' ¦
822_____________________________________________________________________Практический пример

protected void ShowAddNewControls (bool ShovXIontrols)

(

// показать t спрятать управляющие элементы для добш :ения новой записи

MewListName.Text3"

NewListDescr.Text»* “г

AddNewControlsRow.Visible ¦ IShowControle;

CreateNewRow.Visible* I ShowControls ;

}

Иконка, добавляющая новый список, представляет собой не что иное, как кнопку, для которой обработка события "щелчок мышью” имеет следующий вид:

protected void AddNeKjClicVc(object sender, EventArgs e)

' t

if (Page.IsValid)

<

NewsHailer.ListsDB lists * new NewsHailer,ListsDB(GetConnStringО);

H добавить новую запись

1 lsts. Add (NewListNante. Text, NewListDescr.Text);

ShowAddNewControls(false);

BindGrid();

)

) -

)

Если страница является допустимой, как в случае события updateo, то программа получает содержимое двух текстовых окон и передает эти строки методу Add() объеета ListsDB. В данном случае код оказывается несколько проще, поскольку можно непосредственно ссылаться на оба окна, так как других управляющих элементов с такими именами не существует.

Иконка, отменяющая операцию добавления, представляет собой управляющий элемент ButtonLink, который, будучи нажатым, прячет все управляющие элементы для имени и описания нового списка и восстанавливает все в том виде, в каком это выводилось по умолчанию, Ниже приводится код для обработки события click:
Предыдущая << 1 .. 380 381 382 383 384 385 < 386 > 387 388 389 390 391 392 .. 404 >> Следующая
Книги
Web-программирован-
ие
Аппаратное обеспечение Графика Руководство по П.О. Самоучитель Теория программирования Фотошоп Языки программирования
Новые книги
Вирт Н. "Систематическое программирование " (Теория программирования)

Эком "Microsoft Excel 2000 шаг за шагом Русская версия самоучитель " (Самоучитель)

Поляков А.Ю. "Методы и алгоритмы компьютерной графики в примерах Vizual C++" (Графика)

Баяковский Ю.М. "Графическая библиотека Open GL " (Графика)

Валиков А. "Технология " (Языки программирования)
Авторские права © 2013 ComputersBooks. Все права защищены.