Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка под ASP.NET > Работа с таблицей


Автор: PavCh 16.11.2005, 20:48
Как в событие
Sub DataGrid1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles DataGrid1.ItemDataBound

прочитать данные в каждой ячейке первого столбца, чтобы потом в зависимости от того значения, полученного из БД, выделять строку или нет?

Автор: mr.DUDA 16.11.2005, 22:15
Насколько я смог понять, можно взять у DataGrid свойство DataSource, проверить в отладчике (или по коду), какой у него тип - DataView, DataSet или DataTable; преобразовать к данному типу; и наконец перечислить все DataRow-ы у таблицы. "Первый столбец" - звучит расплывчато. В гриде можно любой столбец замапить на любую колонку таблицы датасета, поэтому значение из колонки строки таблицы берётся не по номеру колонки, а по имени.

Автор: PavCh 16.11.2005, 22:28
Идея такая, сначало берем значение в 1-ой ячейке првого столбца, если оно равно 5, то выделяем эту строку, затем берем значение во 2-ой ячейке првого столбца, если оно равно 5, то выделяем эту строку и т. д.


Автор: arilou 17.11.2005, 16:20
PavCh

смысл примерно такой

Код

Sub DataGrid1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles DataGrid1.ItemDataBound

  ' отсекаем header, footer, pager и т.д.
  if e.Item.ItemType = ListItemType.Item or e.Item.ItemType = ListItemType.AlternatingItem
    if e.Item.Cells(0).Text = "5" then
      e.Item.BackColor = Color.Red
    end if
  end if
end sub

Автор: PavCh 17.11.2005, 17:05
Спасибо! Заработало.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)