Могу ли я установить максимальное количество строк в несвязанном DataGridView

Мне трудно поверить, что это не было задано раньше, но это не похоже на то, что это было, и мои поиски Google были напрасны.

могу ли я установить максимальное количество строк, которые DataGridView позволит пользователю добавить? (Например, после добавления 10-й строки он больше не будет отображать строку "новая строка"?).

1 ответов


для этого нет прямого свойства, но вы должны быть в состоянии сделать это довольно легко, используя комбинацию AllowUserToAddRows собственность, а UserAddedRow событие.

основная идея состоит в том, чтобы добавить обработчик событий, чтобы проверить количество строк в отношении Максимально Допустимое, а затем установить AllowUserToAddRows = false

public partial class frmGridWithRowLimit : Form
{
    public Int32 MaxRows { get; set; }

    public frmGridWithRowLimit()
    {
        MaxRows = 10;

        InitializeComponent();

        dgRowLimit.UserAddedRow += dgRowLimit_RowCountChanged;
        dgRowLimit.UserDeletedRow += dgRowLimit_RowCountChanged;
    }

    private void dgRowLimit_RowCountChanged(object sender, EventArgs e)
    {
        CheckRowCount();
    }

    private void CheckRowCount()
    {
        if (dgRowLimit.Rows != null && dgRowLimit.Rows.Count > MaxRows)
        {
            dgRowLimit.AllowUserToAddRows = false;
        }
        else if (!dgRowLimit.AllowUserToAddRows)
        {
            dgRowLimit.AllowUserToAddRows = true;
        }
    }
}

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

надеюсь, что это помогает

Ура, Джош!--9-->