版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C#-DataGridView控件25招1. DataGridView当前的单元格属性取得、变更 2. DataGridView编辑属性 3. DataGridView最下面一列新追加行非表示 4. DataGridView判断当前选中行是否为新追加的行 5. DataGridView删除行可否设定 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 根据条件判断单元格的编辑属性下例中column2的值是True的时候,Column1设为可编辑 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删除行可否设定 C# DataGridView1.AllowUserToDeleteRows = False根据条件判断当前行是否要删除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行列宽度高度设置为不能编辑 8. DataGridView行高列幅自动调整 9. DataGridView指定行列冻结 10. DataGridView列顺序变更可否设定 11. DataGridView行复数选择 12. DataGridV
9、iew选择的行、列、单元格取得 7. DataGridView行列宽度高度设置为不能编辑 C# 'DataGridView1的列的宽设为不能编辑 DataGridView1.AllowUserToResizeColumns = False 'DataGridView1的行的高设为不能编辑DataGridView1.AllowUserToResizeRows = False 指定行列宽度高度设置为不能编辑 C# 'DataGridView1指定列宽度设置为不能编辑 DataGridView1.Columns0.Resizable = DataGridViewTriStat
10、e.False 'DataGridView1指定行高度设置为不能编辑 DataGridView1.Rows0.Resizable = DataGridViewTriState.False 列幅行高最小值设定 C# '列幅最小值设定为100DataGridView1.Columns0.MinimumWidth = 100 '行高最小值设定为50 DataGridView1.Rows0.MinimumHeight = 50 行列表头部分行高列幅设置为不能编辑 C# 行列表头部分行高设置为不能编辑 DataGridView1.ColumnHeadersHeightSizeMo
11、de = DataGridViewColumnHeadersHeightSizeMode.DisableResizing 行列表头部分列幅设置为能编辑 DataGridView1.RowHeadersWidthSizeMode = DataGridViewRowHeadersWidthSizeMode.EnableResizing 8. DataGridView行高列幅自动调整 C# 根据内容,列幅自动调整DataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells 根据内容,行高自动调整DataGri
12、dView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells 表头部分行高列幅自动调整 C# '表头列高自動調整 DataGridView1.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize '表头行幅自動調整DataGridView1.RowHeadersWidthSizeMode = DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders 指定列
13、自动调整 C# '指定列的列幅自動調整 DataGridView1.Columns0.AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells 9. DataGridView指定行列冻结 列冻结(当前列以及左侧做所有列) C# 'DataGridView1的左側2列固定DataGridView1.Columns1.Frozen = True 行冻结(当前行以及上部所有行) C# 'DataGridView1的上部2行固定 DataGridView1.Rows2.Frozen = True 指定单元格冻结(单
14、元格所在行上部分所有行,列左侧所有列) C# DataGridView10, 0. Frozen = True 10. DataGridView列顺序变更可否设定 C# 'DataGridView1的列的位置设定为允许改变 DataGridView1.AllowUserToOrderColumns = True 但是如果列冻结的情况下,冻结的部分不能变更到非冻结的部分。 变更后列位置取得 C# '取得列"Column1"現在的位置 Console.WriteLine(DataGridView1.Columns"Column1".Displ
15、ayIndex) '列"Column1"移動到最前面 DataGridView1.Columns"Column1".DisplayIndex = 0 11. DataGridView行复数选择 不可选择多行 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表头部单元格文字列设定 16. DataGridView选择的部分拷贝至剪贴板 17.DataGridView粘贴 18. DataGridView单元格上ToolTip表示设定(鼠标移动到相应单元格上时,弹出说明信息) 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表头部单元格文字列设定 更改列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();'行的宽度自动调节DataGridView1.AutoResizeRowHeadersWidth( DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders) 最左上Header单元格文字列 C# '修改最左上单元格 DataGridView1.TopLeftHeaderCell.Value = "/" 16. DataGridView选择的部分拷贝至剪贴板 拷贝模式设定 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("列数错误"); 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表示设定(鼠标移动到相应单元格上时,弹出说明信息) 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全体分界线样式设置23. DataGridView根据单元格属性更改显示内容24. DataGridView新追加行的行高样式设置25. DataGridView新追加行单元格默认值设置 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全体分界线样式设置 C#DataGridView1.BorderStyle = BorderStyle.Fixed3D 单元格上下左右分界线样式设置 C#DataGridView1.AdvancedC
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 甘肃省武威市民勤县等两地2024-2025学年高一上学期开学考试语文试题(解析版)
- 水利水电工程社群参与方案
- 水利工程河道整治方案
- 电影院秋季疫情防控工作方案
- 2024年中国套架市场调查研究报告
- 空心砖砌体施工技术培训方案
- 班主任活动策划与实施方案
- 提升团队能力的职业发展方案
- 2024年城市配送服务运营合同
- 超市疫情防控工作方案
- 教育数字化背景下的创新教学方法及效果评估研究
- 教育政策分析与效果评估
- TAD水泥墙施工方案
- 《初二班会课件:班级管理与自我管理》
- 第六课《黑与白》(说课稿)人教版(2012)美术三年级上册
- 本科毕业设计-年产110万吨氧化铝石灰拜耳法溶出车间设计
- 新教科版科学六年级上册期末综合测试卷(五)
- HACCP风险评估报告样板
- 提高住院病历完成及时性持续改进(PDCA)
- 因孩子上学房子过户协议书
- 部编版四年级语文上册课内阅读复习试题含答案全套
评论
0/150
提交评论