我很难相信以前没有人问过这个问题,但它看起来不像已经问过,我的谷歌搜索都是徒劳的。
我可以设置 DataGridView 允许用户添加的最大行数吗? (比如在添加第 10 行后,它将不再显示“新行”行?)。
最佳答案
没有直接的属性可以做到这一点,但你应该能够使用 AllowUserToAddRows
的组合很容易地完成这个属性(property),和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;
}
}
}
您还需要处理用户删除行的情况,以确保您允许他们再次添加行。
希望对你有帮助
干杯, 乔希
关于c# - 我可以在未绑定(bind)的 DataGridView 中设置最大行数吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5206203/