Выделите ячейку gridview, если "" или ноль - PullRequest
1 голос
/ 25 мая 2011

Вот что я использую:

if (Regex.Match(gv.Rows[i].Cells[5].Text, "^[\x20 ]").Success)
            {
                gv.Rows[i].Cells[5].Attributes.Add("Style", "background: Red");
                Save.Visible = false;
            }

Но он выделяет только нули (string.Empty), а не пробелы (""). Есть идеи?

Ответы [ 4 ]

1 голос
/ 23 августа 2012

На вопрос Pod Mays и Mike Byers относительно соответствия сущности пробела HTML 'nbsp', вы можете использовать метод HttpUtility.HtmlDecode для декодирования HTML. Это преобразует HTML-сущность 'nbsp' в '', поэтому ей может соответствовать IsNullOrWhiteSpace .

if (String.IsNullOrWhiteSpace(HttpUtility.HtmlDecode(gv.Rows[i].Cells[5].Text)))
{
    gv.Rows[i].Cells[5].Attributes.Add("Style", "background: Red");
    Save.Visible = false;
}

Обратите внимание, что декодирование текста важно, потому что вид сетки преобразует полностью пустые ячейки в ячейки с пробелом ( ) в них.

1 голос
/ 25 мая 2011
if (String.IsNullOrWhiteSpace(gv.Rows[i].Cells[5].Text))
{
    gv.Rows[i].Cells[5].Attributes.Add("Style", "background: Red");
    Save.Visible = false;
}

, вероятно, будет работать лучше.

1 голос
/ 25 мая 2011

Почему бы не использовать if(string.IsNullOrWhiteSpace(gv.Rows[i].Cells[5].Text))?

Это обеспечит ту же (правильную) функциональность

0 голосов
/ 25 мая 2011

попробуйте это:

if (Regex.Match(gv.Rows[i].Cells[5].Text, "^[\\s]?$").Success)
{
    gv.Rows[i].Cells[5].Attributes.Add("Style", "background: Red");
    Save.Visible = false;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...