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

С# - Ватсон К.

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


</appSef ngs>

<tcon Сiguration>

Необходимо изменить вышеупомянутый ключ connstring так, чтобы он правильно указывал на файл базы данных.

Код поддержки для Lists.aspx

После определения базового класса перейдем к рассмотрению того, что находится в файле Lists.aspx с кодом поддержки.

Класс Lists

В списке директив ueing этот класс находится в пространстве имен NewsMaiier и является производным от BasePage:

nameврасе HeweMailer {

public class Lists ; MewsMailer.ВавеРаде

< ' ' ' '

После объявления нескольких защищенных управляющих элементов Web Form, мы подходим к тому месту, где реализованы функциональные возможности страницы. Ниже приводится обработчик, который запускается при загрузке страницы:

protected void Page_Load{object sender, EventArgs e)

(

if (iPage.XePostBaclc)

t -
Практический пример 2 — Менеджер рассылки новостей в режиме онлайн

819

II связать управляющие элементы страницы BindGridO ;

)

шшвяш

В программе опционно вызывается метод BindGrido, который наполняет таблицу списками рассылки:

protected void BindGrido

<

NewsHailer .LiatDB lists * new NewsMailer .ListDBtGetConnSrtingO >)

// запросить асе списки

Dataview myDV = lists.GetLieteO .TableelO] .DefaultVi

11 произвести сортировку данных в соответствии со значением SortExpression

if ( ListsGrid.Attributes Г'SortExpression'] i= null ) myDV.Sort = LiatGrid.Attributes['SortExpression'J;

ListGrid, DataSource * inyDV;

ListGrid.DataBind();

Эта функция вызывается, только если свойство isPostBack данной страницы имеет значение false, т. е, когда страница либо загружается впервые, либо обновляется пользователем с помощью команды браузера Refresh/Reload, но не при повторной загрузке страницы, поскольку пользователь уже отправил некоторые данные форме. На самом деле, после того как страница отправляется обратно, состояние управляющих элементов сохраняется в скрытом управляющем HTML-элементе, а затем автоматически восстанавливается, что позволяет избежать отправки повторного запроса к базе данных,

BindGrido —это, вероятно, наиболее важная функция любой страницы, поскольку именно с ее помощью страница получает данные из базы данных и выводит полученные записи в табличном представлении. В первой строке этой функции создается экземпляр объекта ListsDB с помощью библиотеки NewsMaiierDB: ее конструктор принимает строку соединения, используемую всеми ее методами, а сама Строка соединения ВОЗВращаеТСЯ методом GetConnString () класса BasePage:

MewsMailer.ListsDB lists = new MewsMailer.ListsDB(GetConnStringО);

В следующей строке создается набор данных, и выводимые данные единственной таблицы сохраняются в частной переменной:

DataView rayDV = lists.GetListsO .ТаЫев[0] .Defaultview;

Выводимые данные затем сортируются в соответствии с атрибутом табличного представления, который представляет собой атрибут, задаваемый пользователем: в момент первого вызова функции этот атрибут имеет значение null, а выводимые данные вообще не подвергаются сортировке. В последних двух строках осуществляется привязка выводимых данных к свойству DataSource и вызывается метод DataBindo для вывода строк.

Сортировка списков

Когда происходит щелчок мышью на заголовке столбца, то вызывается функция List3Grid_jSort (), имеющая следующий вид:

protected void ListsGridJSort(Object sender, DataGridSortCommandEventArgs e)

(

. ShowAddsewCo :rols(false);

ListsGrid.Editlteelndex = -1;
820

Практический пример

П установить атрибут Sort Express ion, который будет использоваться

// для сортировки данных в методе BindGrid

ListsGrid.Attributes[*SortExpresaionJ=e.SortExpression.ToStrinsj{);

BindGrid()i

)

Прежде всего эта функция прячет управляющие элементы для включения нового списка, если они видимы в данный момент. Затем оиа отменяет режим редактирования строки, если он был. установлен. Наконец, она получает выражение сортировки, по которому будет осуществляться фактическая сортировка, и название столбца, а затем обновляет содержимое управляющего элемента табличного представления данных, вызывая метод BindGrid!).

Редактирование и обновление списков

Мы переходим к реализации методов, которые осуществляют редактирование и обновление списков;

protected void LietsGrid_Edit(object sender, DataGridCommandEventArgs e)

{

ShowAdctNewControle (false) ;

II начать редактирование

LiateGrid.Editltemlndex = (int)e,Item.Itemlndex;

BindGrid(I;

protected void ListsGrid_CancelEdit(object eender', DataGridComroar.dEventArgs (

ListsGrid,Editltemlndex = -1;

BindGrid()i

)

protected void ListsGrid_Update(object sender, DataGridCommandEventArss e)

(

if (Page.IsValid)

< ‘

// подучить новые данные нз диалоговых окон

string Listitame = ((TextHox)е.Item.FindControl(‘EditListName')).Text!

string ListDescr * ((TextBox)e.Item.FindControl1'EditLietDeacr*)).Text;

int ListID = (int)ListsGrid.DataKeys[e.Item.Itemlndex]j

MewBMailer.ListsDB lists « new NewsHailer.ListsDB(GetConnfltringO);
Предыдущая << 1 .. 379 380 381 382 383 384 < 385 > 386 387 388 389 390 391 .. 404 >> Следующая
Книги
Web-программирован-
ие
Аппаратное обеспечение Графика Руководство по П.О. Самоучитель Теория программирования Фотошоп Языки программирования
Новые книги
Вирт Н. "Систематическое программирование " (Теория программирования)

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

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

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

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