2012-01-07 3 views
0

Я новый разработчик ASP.NET. Я использую DetailsView теперь, чтобы отобразить некоторые данные из базы данных. Мне нужно выделить некоторые две строки из DetailsView. Обе строки - это тип данных VARCHAR. ТАК КАК СДЕЛАТЬ ЭТО?Как выделить конкретную строку в DetailsView?

+0

Выберите несколько строк или измените цвет фона для указания выбора? – user978122

ответ

0

Переопределите событие привязки данных и установите e.Row.BackColor = System.Drawing.Color.Red; или любой цвет, если у вас есть какая-то логика для поиска строки, которая должна быть подсвечена.

protected void detailsView_RowDataBound(object sender, 
GridViewRowEventArgs e) 
{ 
    if (e.Row.RowType == DataControlRowType.DataRow) 
    { 
     if(...)//some condition for selection of row to be higlighted 
     { 
      e.Row.BackColor = System.Drawing.Color.Red; 
     } 
    } 
} 

Если вам нужен perticular ряд, скажем, четвёртая строка будет выделена, и это фиксировано, то вы могли бы прямо как этот

detailsViewGrid.Rows[3].Row.BackColor = System.Drawing.Color.Red; 

Единственное, что вы должны иметь в виду, что этот код будет написанные только в тех событиях, которые возникли бы после события grid_rowdatabound (как и предварительная визуализация)

+0

Да, я хочу только 4-й ряд, который будет выделен, и это исправлено. Итак, как это сделать? Я положил его внутри detailsView_RowDataBound (отправитель объекта, GridViewRowEventArgs e) , но он не работает. Он дал следующую ошибку: Имя: «detailsView» не существует, это текущий контекст. – user1093651

+0

На самом деле, я думаю, что нет никакого RowDataBound для подробного просмотра. – user1093651

Смежные вопросы