7
我發現很難相信這個問題以前沒有問過,但它看起來並不像以前那樣,我的Google搜索都沒有用。我可以設置未綁定的最大行數DataGridView
我可以設置DataGridView允許用戶添加的最大行數嗎? (就像添加第10行後,它將不再顯示'新行'行?)。
我發現很難相信這個問題以前沒有問過,但它看起來並不像以前那樣,我的Google搜索都沒有用。我可以設置未綁定的最大行數DataGridView
我可以設置DataGridView允許用戶添加的最大行數嗎? (就像添加第10行後,它將不再顯示'新行'行?)。
有沒有直接的財產做到這一點,但你應該能夠使用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;
}
}
}
你也會想,當用戶刪除行處理確保你允許他們再次添加行。
希望這有助於
乾杯, 喬希
嘿嘿,謝謝...便利MAXROWS是在我的情況恆定的,甚至不用擔心改變該值。我會給這個旋轉,然後馬上回來,並獎勵你25分! :) – Crisfole 2011-03-07 14:02:26
美麗。我嘗試了幾乎與此相同的東西,但是我錯過了幾個重要的部分!我仍然感到驚訝的是,「最大行」不是內置的! :) – Crisfole 2011-03-07 14:12:18
@Cpfohl,可能是因爲它確實只適用於這種特殊的場景,而且大多數人使用帶有DataBinding的網格。如果您嘗試使用數據綁定網格執行此操作,則會涉及許多問題。 **值得一提的是,這並沒有考慮到以編程方式添加的行。但是,如果在您的情況下不會發生這種情況,上面的解決方案應該足夠了。 – Josh 2011-03-07 17:37:44