paul_vin Ответов: 1

Я хочу, чтобы применить CSS (очень хочу, чтобы применить цвет) в последней строке сетки


Я Хочу Отобразить Последний Столбец Представления Сетки В Цветном Формате.
Т. е. я хочу, чтобы применить CSS на последней колонке GridView в

Я Создал Хранимую Процедуру Для Привязки Данных К Gridview
Он Работает Нормально

Что я уже пробовал:

Я Создал Css Класс Как

<style>
        .highlighted 
  {
     color:Red ! important;
     background-color: blue ! important;
  }
    </style>
</head>



затем на пререндер случае элемент управления GridView я wriiten код как


protected void GridView1_PreRender1(object sender, EventArgs e)
        {

            try
            {
                GridViewRow getRow = GridView1.Rows[GridView1.Rows.Count - 1];
                getRow.Attributes.Add("class", "highlighted");
            }
            catch(Exception ex)
            {
                Response.Write(ex);
            }
}


Он показывает исключение в Gridview1_prerender как

Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: in

1 Ответов

Рейтинг:
0

Afzaal Ahmad Zeeshan

С того места, где я это вижу, проблема заключается в жестко закодированном [...Count - 1] вещь, зачем делать это в первую очередь и оставлять ее подверженной нескольким условиям? Например, что произойдет, если Count свойство равно нулю (список пуст?). Вместо этого я бы лично попробовал использовать это,

GridViewRow row = null;
if(GridView1.Rows.Count == 0) {
   // Handle the empty grid
} else if (GridView1.Rows.Count == 1) {
   row = GridView1.Rows[0]; // Capture this row, or ignore the single row.
} else if (GridView1.Rows.Count > 1) {
   row = GridView1.Rows[GridView1.Rows.Count - 1];
}

if(row != null) {
   // Check if there is a row
   row.Attributes.Add("class", "highlighted");
}

Это должно должным образом гарантировать, что ваши проблемы нацелены и есть решение, которое код может принять, чтобы предотвратить сбои кода.