Могу ли я установить максимальное количество строк в несвязанном DataGridView - PullRequest
7 голосов
/ 05 марта 2011

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

1 Ответ

9 голосов
/ 05 марта 2011

Прямого свойства для этого нет, но вы сможете довольно легко выполнить это, используя комбинацию свойства 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;
        }
    }
}

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

Надеюсь, это поможет

Приветствия, Джош

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...