一.常用屬性
1.布局
readonly(是否可編輯)
allowusertoaddrows(隱藏底部空行)
rowsheadersvisible(隱藏首列)
datasource(繫結資料來源)
autogeneratecolumns(繫結資料來源後,不自動生成列)
autosizecolumnsmode(自動列寬,fill可解決滑條遮擋問題,但需要第一列frozen值為true。fill模式下,可通過columns列權重屬性fillweight來控制列寬度自動化佔比)
autosizerowsmode(自動行高)
selectionmode (選中模式,fullrowselect為選中整行)
2.新增行
datagridview.rows.clear();//清空所有行
datagridview.rows.add();//新增行
datagridview.rows[行號].cells[列序號].value=值 //賦值行某列文字值
((datagridviewcheckboxcell)datagridview.rows[行號].cells[列序號]).value//賦值下拉框值
3.取值
3.0 通用
datagridview.currentrow.index(獲取選中索引)
datagridview.currentcell.value(獲取選中單元格)
3.1 列型別:textbox
datagridview.rows[行號].cells[列號].value.tostring()(取某行某列值)
3.2 列型別:checkbox
取某行某列的值
(datagridviewcheckboxcell)datagridview.rows[行號].cells[列號]).(editedformattedvalue&formattedvalue)
取選中單元格的值
((datagridviewcheckboxcell)datagridview.rows[datagridview.currentrow.index].cells[列號]).editedformattedvalue.tostring()
在這裡,check選中值分為兩種屬性。
editedformattedvalue 編輯狀態check值
formattedvalue 非編輯狀態check值
3.3 列型別:combobox
datagridview.rows[行號].cells[列號].editedformattedvalue.tostring()
4.方案
4.1單向繫結。
該方法使用datasource繫結資料模型,程式可以通過運算元據模型(改變變數)來控制檢視(控制項同步改變資料),並且datasource包含相應事件可供功能拓展。
4.2雙向繫結
如需實現雙向繫結,在檢視修改後(控制項值修改後)資料模型(變數)也發生變化,只需在cellendedit事件賦值即可。
private void datagridview_cellendedit(object sender,datagridviewcelleventargs e)
5.多型別列互動在我們使用中,乙個datagridview可能包含多種樣式的列,往往列之間需要一些互動,舉個栗子。
首先,我們初始設定名稱和控制項兩列的readonly為true,處於不可編輯狀態。
當自定義列勾選時,名稱和控制項列readonly為false可編輯,允許使用者輸入。
當自定義列不勾選時,自動清空名稱和控制項列內容,同時關閉兩列可編輯狀態。
在這裡試了很多屬性,目前發現cellcontentclick的觸發是最有即時性效果的,具體操作**如下。
private void datagridview_cellcontentclick(object sender, datagridviewcelleventargs e)
else
}
使用WinFrom控制項 TreeView
使用winfrom控制項 treeview 為了後續課程的學習,今天老師講了乙個新的控制項 treeview,說實話,上課真的沒聽明白,回家看了一晚上才弄懂,哎,我太愚鈍了.定義乙個 treeview控制項命名為tv private void frmtreeview load object send...
WinFrom控制項雙向繫結
using system using system.collections.generic using system.componentmodel using system.data using system.drawing using system.text using system.window...
Winfrom的Panel控制項新增子控制項排序問題
用 迴圈給panel中新增多個控制項例項,並且設定dock屬性後,子控制項的排序是後新增的在最上面,這是因為winfrom機制是最新新增的控制項會排在最前面,而不是最後面。但是需求是先新增的要放在最上面,為了實現這個需求 可以把需要的控制項反向新增來解決這個問題,但是不是最好的解決方案。最好的解決方...