




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、C#-DataGridView控件25招1. DataGridView當前的單元格屬性取得、變更 2. DataGridView編輯屬性 3. DataGridView最下面一列新追加行非表示 4. DataGridView判斷當前選中行是否為新追加的行 5. DataGridView刪除行可否設(shè)定 6. DataGridView行列不表示和刪除 1.當前的單元格屬性取得、變更 C# '當前選中單元的值Console.WriteLine(DataGridView1.CurrentCell.Value)'當前列的Index值Console.WriteLine(DataGridVi
2、ew1.CurrentCell.ColumnIndex)'當前單元的行Index值Console.WriteLine(DataGridView1.CurrentCell.RowIndex)'將控件中(0, 0)處的值,賦給當前單元格.DataGridView1.CurrentCell =DataGridView10, 0 2.DataGridView編輯屬性 全部單元格編輯屬性 C# 'DataGridView1只讀屬性DataGridView1.ReadOnly = True 指定行列單元格編輯屬性 C# DataGridView1.Columns1ReadOnly
3、= True DataGridView1.Rows2.ReadOnly = True DataGridView10, 0.ReadOnly = True 根據(jù)條件判斷單元格的編輯屬性下例中column2的值是True的時候,Column1設(shè)為可編輯 C# 代碼 private void DataGridView1_CellBeginEdit(object sender, DataGridViewCellCancelEventArgs e) if (this.DataGridView1.Columnse.ColumnIndex.Name.ToString().Equals("Colum
4、n2") if (DataGridView1"Column2", e.RowIndex.Value.ToString().ToLower().Equals("true") DataGridView1"Column1", e.RowIndex.ReadOnly = false; else DataGridView1"Column1", e.RowIndex.ReadOnly = true; 3.DataGridView最下面一列新追加行非表示 C# DataGridView1.AllowUserToAddR
5、ows = False 4.判斷當前選中行是否為新追加的行 C# if (DataGridView1.CurrentRow.IsNewRow) Console.WriteLine("當前行,是新添加的行"); else Console.WriteLine("當前行,不是新添加的行");5. DataGridView刪除行可否設(shè)定 C# DataGridView1.AllowUserToDeleteRows = False根據(jù)條件判斷當前行是否要刪除C# 代碼 private void DataGridView1_UserDeletingRow(objec
6、t sender, DataGridViewRowCancelEventArgs e) if (MessageBox.Show("確定要刪除嗎?", "刪除確認", MessageBoxButtons.OKCancel, MessageBoxIcon.Question).Equals(System.Windows.Forms.DialogResult.OK) else e.Cancel = true; 6. DataGridView行列不表示和刪除 行列不表示 C# 'DataGridView1的第一列不表示 DataGridView1.Colu
7、mns0.Visible = False 'DataGridView1的第一行不表示DataGridView1.Rows0.Visible = False 行列表頭部分不表示 C# DataGridView1.ColumnHeadersVisible = False DataGridView1.RowHeadersVisible = False 指定行列刪除 C# DataGridView1.Columns.Remove("Column1")DataGridView1.Columns.RemoveAt(0) DataGridView1.Rows.RemoveAt(0
8、) 選擇的行列刪除(多行列) C# 'DataGridView1刪除選中的行foreach (DataGridViewRow r in DataGridView1.SelectedRows) if (!r.IsNewRow) DataGridView1.Rows.Remove(r); <!-endif-> 7. DataGridView行列寬度高度設(shè)置為不能編輯 8. DataGridView行高列幅自動調(diào)整 9. DataGridView指定行列凍結(jié) 10. DataGridView列順序變更可否設(shè)定 11. DataGridView行復數(shù)選擇 12. DataGridV
9、iew選擇的行、列、單元格取得 7. DataGridView行列寬度高度設(shè)置為不能編輯 C# 'DataGridView1的列的寬設(shè)為不能編輯 DataGridView1.AllowUserToResizeColumns = False 'DataGridView1的行的高設(shè)為不能編輯DataGridView1.AllowUserToResizeRows = False 指定行列寬度高度設(shè)置為不能編輯 C# 'DataGridView1指定列寬度設(shè)置為不能編輯 DataGridView1.Columns0.Resizable = DataGridViewTriStat
10、e.False 'DataGridView1指定行高度設(shè)置為不能編輯 DataGridView1.Rows0.Resizable = DataGridViewTriState.False 列幅行高最小值設(shè)定 C# '列幅最小值設(shè)定為100DataGridView1.Columns0.MinimumWidth = 100 '行高最小值設(shè)定為50 DataGridView1.Rows0.MinimumHeight = 50 行列表頭部分行高列幅設(shè)置為不能編輯 C# 行列表頭部分行高設(shè)置為不能編輯 DataGridView1.ColumnHeadersHeightSizeMo
11、de = DataGridViewColumnHeadersHeightSizeMode.DisableResizing 行列表頭部分列幅設(shè)置為能編輯 DataGridView1.RowHeadersWidthSizeMode = DataGridViewRowHeadersWidthSizeMode.EnableResizing 8. DataGridView行高列幅自動調(diào)整 C# 根據(jù)內(nèi)容,列幅自動調(diào)整DataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells 根據(jù)內(nèi)容,行高自動調(diào)整DataGri
12、dView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells 表頭部分行高列幅自動調(diào)整 C# '表頭列高自動調(diào)整 DataGridView1.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize '表頭行幅自動調(diào)整DataGridView1.RowHeadersWidthSizeMode = DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders 指定列
13、自動調(diào)整 C# '指定列的列幅自動調(diào)整 DataGridView1.Columns0.AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells 9. DataGridView指定行列凍結(jié) 列凍結(jié)(當前列以及左側(cè)做所有列) C# 'DataGridView1的左側(cè)2列固定DataGridView1.Columns1.Frozen = True 行凍結(jié)(當前行以及上部所有行) C# 'DataGridView1的上部2行固定 DataGridView1.Rows2.Frozen = True 指定單元格凍結(jié)(單
14、元格所在行上部分所有行,列左側(cè)所有列) C# DataGridView10, 0. Frozen = True 10. DataGridView列順序變更可否設(shè)定 C# 'DataGridView1的列的位置設(shè)定為允許改變 DataGridView1.AllowUserToOrderColumns = True 但是如果列凍結(jié)的情況下,凍結(jié)的部分不能變更到非凍結(jié)的部分。 變更后列位置取得 C# '取得列"Column1"現(xiàn)在的位置 Console.WriteLine(DataGridView1.Columns"Column1".Displ
15、ayIndex) '列"Column1"移動到最前面 DataGridView1.Columns"Column1".DisplayIndex = 0 11. DataGridView行復數(shù)選擇 不可選擇多行 C# 'DataGridView1不可選擇多行DataGridView1.MultiSelect = False 單元格選擇的時候默認為選擇整行 C# '單元格選擇的時候默認為選擇整行DataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect 12
16、. DataGridView選擇的行、列、單元格取得 C# '輸出選擇的單元格位置Console.WriteLine("選擇的單元格位置") foreach (DataGridViewCell c in DataGridView1.SelectedCells) Console.WriteLine(c.ColumnIndex + "," + c.RowIndex);'輸出選擇的行位置Console.WriteLine("選擇的行位置") foreach (DataGridViewRow r in dgvBeforeSte
17、p.SelectedRows) Console.WriteLine(r.Index); ''輸出選擇的列位置 foreach (DataGridViewColumn col in dgvBeforeStep.SelectedColumns) Console.WriteLine(col.Index);指定行、列、單元格取得 C# '(0, 0)的選中 DataGridView10, 0.Selected = True 'Index為1的行選中 DataGridView1.Rows1.Selected = True 'Index為2的列選中DataGridV
18、iew1.Columns2.Selected = True <!-endif-> 13. DataGridView指定單元格是否表示 14. DataGridView表頭部單元格取得 15. DataGridView表頭部單元格文字列設(shè)定 16. DataGridView選擇的部分拷貝至剪貼板 17.DataGridView粘貼 18. DataGridView單元格上ToolTip表示設(shè)定(鼠標移動到相應(yīng)單元格上時,彈出說明信息) 13. DataGridView指定單元格是否表示 C# if (DataGridView1 2,0.Displayed&& Data
19、GridView1 2,0.Visible) DataGridView1.CurrentCell = DataGridView12,0;14. DataGridView表頭部單元格取得 C# 'DataGridView1第一列表頭改變 DataGridView1.Columns0.HeaderCell.Value = "第一列" 'DataGridView1第一行表頭改變 DataGridView1.Rows0.HeaderCell.Value = "第一行" 'DataGridView1左上角單元格值改變 DataGridVie
20、w1.TopLeftHeaderCell.Value = "左上" 15. DataGridView表頭部單元格文字列設(shè)定 更改列Header表示文字列 C# 'DataGridView1改變第一列頭部單元格文字 DataGridView1.Columns0.HeaderText = "第一列" 更改行Header表示文字列 C# 'DataGridView1行的頭部單元格為序號 for (int i = 0; i < DataGridView1.Rows.Count-1; i+) DataGridView1.Rows.Header
21、Cell.Value=i.ToString();'行的寬度自動調(diào)節(jié)DataGridView1.AutoResizeRowHeadersWidth( DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders) 最左上Header單元格文字列 C# '修改最左上單元格 DataGridView1.TopLeftHeaderCell.Value = "/" 16. DataGridView選擇的部分拷貝至剪貼板 拷貝模式設(shè)定 C# DataGridView1.ClipboardCopyMode = DataG
22、ridViewClipboardCopyMode.EnableWithoutHeaderText 選中部分拷貝 C# Clipboard.SetDataObject(DataGridView1.GetClipboardContent() 17.DataGridView粘貼 C# 代碼 if (DataGridView1.CurrentCell.Value = null) return;int insertRowIndex = DataGridView1.CurrentCell.RowIndex;string pasteText=Clipboard.GetText();if(string.IsN
23、ullOrEmpty(pasteText) return;string lines=pasteText.Split('r');bool isHeader=true;foreach(string line in lines) if(isHeader) isHeader=false; else string vals=line.Split('t'); if (vals.Length - 1 != DataGridView1.ColumnCount) throw new ApplicationException("列數(shù)錯誤"); DataGridV
24、iewRow row = DataGridView1.RowsinsertRowIndex; row.HeaderCell.Value=vals0; for(int i=0;i<row.Cells.Count-1;i+) row.Cells.Value=vals(i+1); insertRowIndex+=1; 18. DataGridView單元格上ToolTip表示設(shè)定(鼠標移動到相應(yīng)單元格上時,彈出說明信息) C# 指定單元格DataGridView10, 0.ToolTipText = "指定單元格" 指定列 DataGridView1.Columns0.To
25、olTipText = "指定列" 指定行DataGridView1.Rows0.HeaderCell.ToolTipText = "指定行" CellToolTipTextNeeded事件,在多個單元格使用相同的ToolTips的時候,可以用該事件,下例為顯示當前單元格的行號和列號 C# 'CellToolTipTextNeeded事件 private void DataGridView1_CellToolTipTextNeeded(object sender, DataGridViewCellToolTipTextNeededEventArg
26、s e) e.ToolTipText = e.RowIndex.ToString() + "," + e.ColumnIndex.ToString();19. DataGridView中的ContextMenuStrip屬性20. DataGridView指定滾動框位置21. DataGridView手動追加列22. DataGridView全體分界線樣式設(shè)置23. DataGridView根據(jù)單元格屬性更改顯示內(nèi)容24. DataGridView新追加行的行高樣式設(shè)置25. DataGridView新追加行單元格默認值設(shè)置 19. DataGridView中的Contex
27、tMenuStrip屬性 C#DataGridView1.ContextMenuStrip = this.ContextMenuStrip1 DataGridView1.Columns0).ContextMenuStrip = this.ContextMenuStrip2 DataGridView1.Columns0.HeaderCell.ContextMenuStrip = this.ContextMenuStrip2 DataGridView1.Rows0.ContextMenuStrip = this.ContextMenuStrip3 DataGridView11, 0.Context
28、MenuStrip = this.ContextMenuStrip4 也可以用CellContextMenuStripNeeded、RowContextMenuStripNeeded屬性進行定義C# 1 private void DataGridView1_CellContextMenuStripNeeded(object sender, DataGridViewCellContextMenuStripNeededEventArgs e) 2 3 if (e.RowIndex<0) 4 5 e.ContextMenuStrip = this.contextMenuStrip1; 6 7
29、else if (e.ColumnIndex<0) 8 9 e.ContextMenuStrip = this.contextMenuStrip2;10 11 12 20. DataGridView指定滾動框位置 C#DataGridView1.FirstDisplayedScrollingRowIndex = 0 DataGridView1.FirstDisplayedScrollingColumnIndex = 0 21. DataGridView手動追加列 C#DataGridView1.AutoGenerateColumns = FalseDataGridView1.DataSo
30、urce = BindingSource1DataGridViewTextBoxColumn textColumn=new DataGridViewTextBoxColumn()textColumn.DataPropertyName = "Column1"textColumn.Name = "Column1"textColumn.HeaderText = "Column1" DataGridView1.Columns.Add(textColumn)22. DataGridView全體分界線樣式設(shè)置 C#DataGridView1.BorderStyle = BorderStyle.Fixed3D 單元格上下左右分界線樣式設(shè)置 C#DataGridView1.AdvancedC
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中國LTCC低溫共燒陶瓷行業(yè)發(fā)展前景及投資戰(zhàn)略咨詢報告
- 2025年中國福建省建筑業(yè)行業(yè)市場運行現(xiàn)狀及投資規(guī)劃建議報告
- 安全生產(chǎn)培訓計劃內(nèi)容
- 養(yǎng)老機構(gòu)年度安全生產(chǎn)工作計劃
- 工作場所安全檢查表
- 安全生產(chǎn)責任追究
- 安全生產(chǎn)事故處理四不放過原則是什么
- 安全生產(chǎn)法90條
- 自查自評總結(jié)
- 生產(chǎn)車間管理人員的工資計入
- 2025至2030中國港口航道工程行業(yè)深度研究及發(fā)展前景投資評估分析
- 單元復習AB卷:第二十八章 圓(A卷-中檔卷)解析版
- 網(wǎng)絡(luò)成癮干預機制-洞察及研究
- 2025-2030年中國3C數(shù)碼充電器行業(yè)市場深度調(diào)研及市場供需與投資價值研究報告
- 2026屆云南三校高考備考聯(lián)考卷(一)化學試卷+答案
- 2024中國農(nóng)業(yè)銀行分行年度營銷宣傳方案
- 2025年高考全國一卷寫作范文10篇
- 高三第一學期的班主任工作總結(jié)
- 汽車司機宿舍管理制度
- 物業(yè)監(jiān)控調(diào)取管理制度
- 智能網(wǎng)聯(lián)汽車技術(shù)課件:超聲波雷達
評論
0/150
提交評論