### C#中DataGridView控件的使用汇总 #### 一、单元格内容的操作 在C#的WinForms应用程序中,`DataGridView`控件被广泛用于显示和编辑数据表格。以下是一些基本的操作方法: ##### 1. 获取当前单元格的内容 ```csharp Console.WriteLine(DataGridView1.CurrentCell.Value); ``` 通过`DataGridView1.CurrentCell.Value`可以获取当前选中单元格的值。 ##### 2. 获取当前单元格的位置 - 获取当前单元格所在的列索引: ```csharp Console.WriteLine(DataGridView1.CurrentCell.ColumnIndex); ``` - 获取当前单元格所在的行索引: ```csharp Console.WriteLine(DataGridView1.CurrentCell.RowIndex); ``` ##### 3. 使用`DataGridView.CurrentCellAddress`属性 - 获取当前单元格所在的行坐标: ```csharp int row = DataGridView1.CurrentCellAddress.Y; ``` - 获取当前单元格所在的列坐标: ```csharp int column = DataGridView1.CurrentCellAddress.X; ``` 这种方法对于避免取消共享行的共享非常有用。 ##### 4. 设置当前单元格 ```csharp // 设定(0,0)为当前单元格 DataGridView1.CurrentCell = DataGridView1[0, 0]; ``` 可以使用`DataGridView.CurrentCell`属性来设定激活单元格,设置为`null`可以取消激活单元格。 ##### 5. 在整行选中模式下设置选定行 ```csharp // 向下遍历 private void button4_Click(object sender, EventArgs e) { int row = this.dataGridView1.CurrentRow.Index + 1; if (row > this.dataGridView1.RowCount - 1) row = 0; this.dataGridView1.CurrentCell = this.dataGridView1[0, row]; } // 向上遍历 private void button5_Click(object sender, EventArgs e) { int row = this.dataGridView1.CurrentRow.Index - 1; if (row < 0) row = this.dataGridView1.RowCount - 1; this.dataGridView1.CurrentCell = this.dataGridView1[0, row]; } ``` 需要注意的是,`this.dataGridView`的索引器的参数是`columnIndex, rowIndex`或`columnName, rowIndex`,这与习惯不同。 #### 二、设置单元格只读 在某些情况下,可能需要将`DataGridView`中的某些单元格设置为只读状态。 ##### 1. 设置整个DataGridView只读 ```csharp // 设置DataGridView1为只读 DataGridView1.ReadOnly = true; ``` 设置为只读后,用户无法编辑任何单元格,并且新增行和删除行的操作也会被禁止。 ##### 2. 设置特定列只读 ```csharp // 设置DataGridView1的第2列整列单元格为只读 DataGridView1.Columns[1].ReadOnly = true; ``` ##### 3. 设置特定行只读 ```csharp // 设置DataGridView1的第3行整行单元格为只读 DataGridView1.Rows[2].ReadOnly = true; ``` ##### 4. 设置特定单元格只读 ```csharp // 设置DataGridView1的[0,0]单元格为只读 DataGridView1[0, 0].ReadOnly = true; ``` #### 三、修改行头列头的单元格 可以修改行头和列头的单元格内容,以便提供更友好的界面展示。 ```csharp // 改变DataGridView1的第一列列头内容 DataGridView1.Columns[0].HeaderCell.Value = "第一列"; // 改变DataGridView1的第一行行头内容 DataGridView1.Rows[0].HeaderCell.Value = "第一行"; // 改变DataGridView1的左上头部单元内容 DataGridView1.TopLeftHeaderCell.Value = "左上"; ``` 此外,还可以使用`HeaderText`属性来改变它们的内容: ```csharp // 改变DataGridView1的第一列列头内容 DataGridView1.Columns[0].HeaderText = "第一列"; ``` 通过以上这些方法,你可以有效地管理`DataGridView`中的数据和显示效果,提高用户交互体验。这些知识点不仅适用于简单的数据展示场景,也适用于复杂的业务逻辑处理,是开发基于C#的桌面应用程序不可或缺的一部分。
剩余14页未读,继续阅读
- 粉丝: 10
- 资源: 14
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 2024年新的全的2024年新的全的《建设工程造价鉴定规范》GBT51262-2017
- SimHei字体包(支持中文,正负号等)
- 基于Django+MySQL实现的校园智能点餐系统源码+数据库(高分项目)
- 基于Django实现校园智能点餐系统源码+数据库(高分期末大作业)
- 知识付费pc付费模板系统知识付费付费模板
- ARM Developer Guide
- Lazarus IDE 3.3-Free Pascal Windows版本
- 20190312-180244-旋转磁体产生的场造成激光功率减小
- 个人课程设计基于PCA和滑动窗口的网络入侵检测系统源码+项目说明.zip
- 基于尺度空间流的端到端视频压缩优化方法