Как отличить этот индекс двух строк - PullRequest
0 голосов
/ 27 июня 2019

У меня проблема, когда пользователь добавляет новую строку, я проверяю ее для требуемого поля, поэтому я хочу знать, как различать строку фильтра и строку, чтобы добавить новую

enter image description here

Я проверяю это с индексом строки -1, когда он фильтрует некоторые данные, индекс строки также равен -1, и он вынужден вводить действительные данные для выхода из фильтра.

private void gv_PricingList_RowValidating(object sender, RowValidatingEventArgs e)
    {
        if (e.RowIndex == -1)
        {
          //I do my logic here
          // e.cancle = true; if invalid data
        }
    }

Я ожидаю ввести условие if, когда пользователь заполняет строку, чтобы добавить новую, но вывод - когда он фильтрует, он входит в условие

Ответы [ 2 ]

0 голосов
/ 28 июня 2019

Вы можете проверить различные типы строк следующим образом:

private void gv_PricingList_RowValidating(object sender, RowValidatingEventArgs e)
{
    if (e.Row is GridViewNewRowInfo)
    {
        //...
    }
    else if (e.Row is GridViewDataRowInfo)
    {
        //...
    }
    else if (e.Row is GridViewFilteringRowInfo)
    {
        //...
    }
}

НТН.

0 голосов
/ 27 июня 2019

Я не уверен, какой фреймворк вы используете.Предполагая его вид сетки winform, вы можете попробовать вариант ниже.Свойство e.IsValid возвращает флаг true или false, указывающий, является ли эта строка действительной или нет.

private void gv_PricingList_RowValidating(object sender, RowValidatingEventArgs e)
    {
        if (e.IsValid == true && e.RowIndex == -1)
        {
          //Write your logic here
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...