Могу ли я установить максимальное количество строк в несвязанном 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-->