Основы ASP.NET 2.0



         

События GridView - часть 2


Перехватываем и обрабатываем ошибку редактирования:

protected void GridView1_RowUpdated(object sender, GridViewUpdatedEventArgs e) { if (e.Exception != null) { ErrorLabel.Text = e.Exception.Message; e.ExceptionHandled = true; } }

Другие парные события:

RowDeletingRowDeleted
PageIndexChangedPageIndexChanging
SelectedIndexChangedSelectedIndexChanging
SortedSorting

В программном режиме можно манипулировать коллекцией Rows, состоящей из объектов типа GridViewRow. Строки GridView имеют свойства RowState и RowType. RowState может принимать значения из перечисления: Normal, Edit, Alternate, Insert и Selected.

Данные, хранящиеся в строке, можно получить из коллекции DataItem, которая индексируется названиями полей.

Создайте страницу Products.aspx и опять с помощью drag-and-drop таблицы Products создайте GridView. Посмотрим, как можно в обработчике события RowDataBound изменять внешний вид таблицы. Пусть нужно установить различные цвета фона в зависимости от категории товара. Добавим обработчик RowDataBound. У аргумента события есть свойство Row, которое позволяет манипулировать строкой GridView:

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { switch ((int)((DataRowView)e.Row.DataItem)["CategoryID"]) { case 1: e.Row.BackColor = Color.AliceBlue; break; case 2: e.Row.BackColor = Color.AntiqueWhite; break; case 3: e.Row.BackColor = Color.FloralWhite; break; case 4: e.Row.BackColor = Color.Beige; break; default: e.Row.BackColor = Color.White; break; } } }




Содержание  Назад  Вперед