Как скрыть кнопку в последнем («поддельном») ряду Datagridview? - PullRequest
0 голосов
/ 02 сентября 2010

В моем dgv у меня есть DataGridViewButtonColumn, который добавляет кнопку «удалить строку» к каждой строке. Тем не менее, кнопка также создается для «поддельной» строки в нижней части dgv, что не имеет смысла в этом контексте, поскольку эта строка еще не соответствует записи. Как можно спрятать эту кнопку или хотя бы закрасить ее?

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

Ответы [ 3 ]

1 голос
/ 09 сентября 2010

Нет лучшего способа, вам нужно расширить класс DataGridViewButtonCell:

Как отключить кнопки в столбце кнопок

1 голос
/ 13 сентября 2010

Сложно контролировать элементы управления в «фальшивом ряду». Чтобы решить эту проблему, вы можете установить dgv.AllowUserToAddRows = false, чтобы избежать «поддельной строки». Тогда фальшивый ряд не выйдет из-за ввода пользователя. Вы можете добавить еще одну кнопку с именем «Добавить строку», чтобы добавить «реальную строку». Также вы можете добавить обработчик событий в последнюю строку, например, Если пользователь вводит что-то в последнюю строку, будет добавлена ​​новая строка (реальная строка).

Вообще говоря, вы можете использовать реальную строку вместо поведения из фальшивой строки, потому что реальную строку легче контролировать.

0 голосов
/ 08 сентября 2010

Попробуйте перейти к событию RowDataBound сетки.

protected void gridView1_RowDataBound(Object sender, GridViewRowEventArgs e)
{
    if(e.Row.RowType == DataControlRowType.DataRow)
    {
        Int32 cellIndex = 1; //Find your delete button cell index
        e.Row.Cells(cellIndex).CssClass = "hidden"; // whatever class you like to hide the cell
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...