C 利用DataGridView實現資料的快速輸入

2021-09-05 23:13:56 字數 2764 閱讀 2965

在做管理軟體時,常常需要**輸入功能。**輸入極大地加快了資料輸入,提高了工作效率,當然也提高了軟體的競爭性。筆者最近用c#在做一套crm時,成功地使用c# 2005裡面的**控制項datagridview實現了**輸入功能,現在就把具體實現與各位分享: 

1. 初始化工作 

(1) 在vs 2005 裡面新建乙個c# winform 應用程式: datagridviewtest 

(2) 在窗體form1上拖乙個datagridview控制項:datagridview1 

(3) 在datagridview1裡新增兩個列: 

column1: 

型別:datagridviewcomboboxcolumn 

headertext:時間 

datapropertyname:dutytime 

column2: 

型別:datagridviewtextboxcolumn 

headertext:時間 

datapropertyname:dutytime 

(4)在form1類中新增兩個私有屬性: 

private datatable m_table;//輸入組合框控制項的下拉資料 

private datatable m_datatable;//與**繫結的datatable,即使用者輸入的最終資料 

(5)在form1類裡面定義乙個結構體 

public struct myrowdata 

public int no; 

public string enday; 

public string ***ay; 

}(6) 在form1的load事件form1_load(object sender, eventargs e) 加上以下初始化**: 

this.datagridview1.allowusertoaddrows = true; 

this.datagridview1.allowusertodeleterows = true; 

this.datagridview1.autogeneratecolumns = false; 

datacolumn dc1, dc2, dc3 

dc1 = new datacolumn("no", typeof(int)); 

dc2 = new datacolumn("enday", typeof(string)); 

dc3 = new datacolumn("***ay", typeof(string)); 

m_table.columns.clear(); 

m_table.columns.addrange(new datacolumn ); 

myrowdata datas = new myrowdata[7]; 

this.m_table.rows.clear(); 

foreach (myrowdata idata in datas) 

datacolumn datadc1, datadc2; 

datadc1 = new datacolumn("dutytime", typeof(int)); 

datadc2 = new datacolumn("dutyperson", typeof(string)); 

m_datatable.columns.clear(); 

m_datatable.columns.addrange(new datacolumn ); 

m_datatable.rows.clear(); 

column1.datasource = this.m_table; 

column1.displaymember = "***ay"; 

column1.valuemember = "no"; 

this.datagridview1.datasource = m_datatable; 

2.訊息處理(核心) 

protected override bool processcmdkey(ref system.windows.forms.message msg, system.windows.forms.keys keydata) //啟用回車鍵 

else  } 

} if (isdatagridview1) //是否處於datagridview1 上 

break; 

case keys.enter: 

if (this.datagridview1.currentcell is datagridviewcomboboxcell 

¦ ¦ this.datagridview1.currentcell is datagridviewtextboxcell 

)//處於輸入格 

"); 

if (this.activecontrol is system.windows.forms.datagridviewcomboboxeditingcontrol 

¦ ¦ this.activecontrol is system.windows.forms.datagridviewtextboxeditingcontrol 

) "); 

} else//非輸入狀態,將轉入輸入狀態 

"); 

} else //combobox,快捷按鍵f4,彈出下拉框 

"); 

} } 

} else//處於非輸入格 

"); 

} return true; 

break; 

} } 

} return false; 

c 控制項 datagridview

datagridview繫結資料,同樣可以檔案讀取資料 迴圈賦值新增到datatable private void datablind datagridview內新增其他控制項 可新增button datagridviewbuttoncolumn checkbox datagridviecheckb...

C 筆記 DataGridView使用

1 databingcomplete datasource,datamember,or bindingcontext property changes.data guid 7a43cd5e90a65cb8c6f18047358f4587 當資料來源的內容更改時,或者當 datasource data...

C 中DataGridView操作技巧

複製 如下 region 操作datagridview 初始化datagridview屬性 要處理的datagridview 允許使用者新增行 允許使用者刪除行 是否顯示包含行標題的列 列標頭高度大小模式 是否多選 是否唯讀 列頭寬度 列選擇模式 public virtual void initse...