DataGridView不顯示最下面的新行、判斷新增行、刪除行操作
一、DataGridView不顯示下面的新行
通常DataGridView的最下面一行是用戶新追加的行(行頭顯示*)。如果不想讓用戶新追加行即不想顯示該新行,可以將DataGridView對象的AllowUserToAddRows屬性設置為False。
示例:
this.dgv_PropDemo.AllowUserToAddRows = false;
但是,可以通過程序給DataGridView追加新行:
this.dgv_Demo.Rows.Add();
注:只有DataGridView是非綁定模式時才可以這樣使用。
如果DataGridView的DataSource綁定的是DataView,還可以通過設置DataView.AllowAdd屬性為False來達到同樣的效果。
二、DataGridView判斷新增行
DataGridView的AllowUserToAddRows屬性為True時允許用戶追加新行,DataGridView的最后一行就是新追加的行。使用DataGridViewRow.IsNewRow屬性可以判斷哪一行是新追加的行。另外,通過DataGridView.NewRowIndex可以獲取新行的行序號。在沒有新行的時候,NewRowIndex=-1。
在保存數(shù)據(jù)到數(shù)據(jù)庫的時候,可以根據(jù)IsNewRow來判斷是不是新行,如果是新行,才進行保存。
三、刪除行
1、無條件的刪除行
默認時,DataGridView是允許用戶進行行的刪除操作,選中要刪除的行,按Delete鍵可以刪除,該操作沒有任何提示(只是刪除界面顯示的數(shù)據(jù),不會真實刪除數(shù)據(jù)庫中的數(shù)據(jù))。如果設置DataGridView對象的AllowUserToDeleteRows屬性為False,用戶將被禁止刪除行。
示例:禁止DataGridView刪除行
this.dgv_PropDemo.AllowUserToDeleteRows = false;
但是,通過行的Remove或者RemoveAt還是可以刪除行的。
示例:
//刪除選中的第一行 this.dgv_PropDemo.Rows.Remove(this.dgv_PropDemo.SelectedRows[0]);
如果DataGridView綁定的是DataView的話,通過DataView.AllowDelete也可以控制行的刪除。
2、刪除行時的條件判斷
用戶在刪除行的時候,將會引發(fā)DataGridView.UserDeletingRow事件。在這個事件里,可以判斷條件并取消刪除操作。(需要將AllowUserToDeleteRows設置為true,并且是使用鍵盤的delete鍵時才會觸發(fā)該事件)。
UserDeletingRow:行被刪除時觸發(fā)。
UserDeletedRow:行被刪除以后觸發(fā)。執(zhí)行順序:先執(zhí)行UserDeletingRow事件后執(zhí)行UserDeletedRow事件。
示例:
private void dgv_PropDemo_UserDeletingRow(object sender, DataGridViewRowCancelEventArgs e)
{
//刪除前確認
if (MessageBox.Show("確認要刪除選中的行嗎?", "刪除確認", MessageBoxButtons.YesNo, MessageBoxIcon.Question) != DialogResult.Yes)
{
//如果不是Ok,則刪除
e.Cancel = true;
}
}
private void dgv_PropDemo_UserDeletedRow(object sender, DataGridViewRowEventArgs e)
{
MessageBox.Show("該行已被刪除");
}3、刪除選中的行
示例:
foreach (DataGridViewRow row in this.dgv_PropDemo.SelectedRows)
{
if (!row.IsNewRow)
{
this.dgv_PropDemo.Rows.Remove(row);
}
}到此這篇關于DataGridView不顯示最下面的新行、判斷新增行、刪除行操作的文章就介紹到這了。希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
WinForm中KeyDown,KeyPress和KeyUp的順序與區(qū)別解析
這篇文章主要介紹了WinForm中KeyDown,KeyPress和KeyUp的順序與區(qū)別解析,對C#初學者來說很有學習借鑒價值,需要的朋友可以參考下2014-08-08
詳解如何利用C#實現(xiàn)漢字轉(zhuǎn)拼音功能
這篇文章主要為大家詳細介紹了如何利用C#實現(xiàn)漢字轉(zhuǎn)拼音的功能,文中的示例代碼講解詳細,對我們學習C#有一定的幫助,感興趣的小伙伴可以跟隨小編一起了解一下2022-12-12
C#實現(xiàn)TreeView節(jié)點拖拽的方法
這篇文章主要介紹了C#實現(xiàn)TreeView節(jié)點拖拽的方法,涉及C#針對TreeView節(jié)點的動態(tài)添加及移除技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-09-09

