Проверка регулярного выражения в GridView с привязкой к данным

#c# #asp.net #validation #gridview

#c# #asp.net #проверка #gridview

Вопрос:

Возможно ли проверить уже ограниченный gridview?

 A | B | C | D
2 | 3 | a | 5
  

Например, я хотел проверить, не являются ли данные внутри столбцов буквенными.
В этом случае я хотел выделить или как-то сообщить, что в столбце 2 есть буква в строке 2.

Комментарии:

1. с другой стороны, я думаю, что могу просто изменить стиль css ячейки во время RowDataBound. Или есть более простой способ? Кроме того, я не думаю, что знаю, что поместить внутрь операторов IF, если я собираюсь сделать это в RowDataBound. Есть другие столбцы, в которых я хотел проверить длину строки.

Ответ №1:

Что-то вроде этого помогло бы.

 Regex numeric = new Regex(@"^d $");

void GridView_RowDataBound(Object sender, GridViewRowEventArgs e) {
    // check out all cells in the current row
    foreach(var cell in e.Row.Cells) {
        // do some validation thingy
        if(!numeric.Match(cell.Text).Success) {
             cell.CssClass = "error"; // put error class on the cell
        }
    }
}
  

Комментарии:

1. как мне пропустить headerrow в rowdatabound?

2. понял, если (например,Row.RowType != DataControlRowType. Заголовок)