DataGridView控件用法合集
### DataGridView 控件用法合集 #### 一、基本操作与属性设置 1. **DataGridView当前的单元格属性取得、变更** - **获取当前活动单元格**:可以通过`CurrentCell`属性来获取当前活动的单元格。例如: ```csharp DataGridViewCell currentCell = dataGridView1.CurrentCell; if (currentCell != null) { string currentValue = currentCell.Value.ToString(); } ``` - **设置当前活动单元格**:也可以通过`CurrentCell`属性来设置当前活动的单元格。例如: ```csharp dataGridView1.CurrentCell = dataGridView1.Rows[rowIndex].Cells[columnIndex]; ``` 2. **DataGridView编辑属性** - **启用/禁用编辑模式**:可以通过`AllowUserToAddRows`、`AllowUserToDeleteRows`以及`ReadOnly`等属性控制用户的编辑权限。 ```csharp dataGridView1.AllowUserToAddRows = false; dataGridView1.AllowUserToDeleteRows = false; dataGridView1.ReadOnly = true; // 完全禁止编辑 ``` 3. **DataGridView最下面一列新追加行非表示** - **隐藏新增行**:可以使用`AllowUserToAddRows`属性来禁止用户在DataGridView中添加新行。 ```csharp dataGridView1.AllowUserToAddRows = false; ``` 4. **DataGridView判断当前选中行是否为新追加的行** - **检查是否为新增行**:通常新追加的行位于DataGridView的最后一行,可以通过索引或者行的状态进行判断。 ```csharp DataGridViewRow selectedRow = dataGridView1.SelectedRows[0]; bool isNewRow = selectedRow.IsNewRow; ``` 5. **DataGridView删除行可否设定** - **允许/禁止删除行**:可以通过`AllowUserToDeleteRows`属性来控制用户是否能够删除行。 ```csharp dataGridView1.AllowUserToDeleteRows = true; // 允许删除 dataGridView1.AllowUserToDeleteRows = false; // 禁止删除 ``` 6. **DataGridView行列不表示和删除** - **隐藏特定行或列**:可以通过设置行或列的`Visible`属性来实现隐藏。 ```csharp dataGridView1.Columns["ColumnName"].Visible = false; dataGridView1.Rows[rowIndex].Visible = false; ``` - **删除行**:可以使用`DataGridView.Rows.RemoveAt(index)`方法来删除指定索引处的行。 ```csharp dataGridView1.Rows.RemoveAt(rowIndex); ``` #### 二、布局与外观 7. **DataGridView行列宽度高度设置为不能编辑** - **锁定行高列宽**:可以使用`FixedHeight`和`FixedWidth`属性来锁定行高和列宽,防止用户更改。 ```csharp dataGridView1.Columns["Column1"].Width = 100; dataGridView1.Columns["Column1"].AutoSizeMode = DataGridViewAutoSizeColumnMode.None; dataGridView1.Columns["Column1"].FixedWidth = true; dataGridView1.Rows[0].Height = 30; dataGridView1.Rows[0].FixedHeight = true; ``` 8. **DataGridView行高列幅自动调整** - **自动调整行高列宽**:使用`AutoSizeMode`属性可以实现行高和列宽的自动调整。 ```csharp dataGridView1.Columns["Column1"].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill; dataGridView1.Columns["Column2"].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells; dataGridView1.AutoResizeRow(0, DataGridViewRowAutoSizeMode.AllCells); ``` 9. **DataGridView指定行列冻结** - **冻结列**:可以通过`Frozen`属性将某列设置为冻结状态,即使用户滚动表格也不会移动该列。 ```csharp dataGridView1.Columns["Column1"].Frozen = true; ``` - **冻结行**:可以通过重写`OnPaint`方法来模拟冻结行的效果。 10. **DataGridView列顺序变更可否设定** - **允许/禁止重新排列列**:可以通过`AllowUserToOrderColumns`属性控制用户是否可以重新排列列的顺序。 ```csharp dataGridView1.AllowUserToOrderColumns = true; // 允许用户重新排列 dataGridView1.AllowUserToOrderColumns = false; // 禁止用户重新排列 ``` 11. **DataGridView行复数选择** - **多行选择**:可以使用`SelectionMode`属性设置为`FullRowSelect`或多选模式。 ```csharp dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect; dataGridView1.MultiSelect = true; // 多选 ``` 12. **DataGridView选择的行、列、单元格取得** - **获取选中的行**:可以通过`SelectedRows`属性来获取所有选中的行。 ```csharp foreach (DataGridViewRow row in dataGridView1.SelectedRows) { // 处理每一行 } ``` - **获取选中的列**:可以通过`SelectedColumns`属性来获取所有选中的列。 ```csharp foreach (DataGridViewColumn column in dataGridView1.SelectedColumns) { // 处理每一列 } ``` - **获取选中的单元格**:可以通过`SelectedCells`属性来获取所有选中的单元格。 ```csharp foreach (DataGridViewCell cell in dataGridView1.SelectedCells) { // 处理每一个单元格 } ``` 以上内容涵盖了DataGridView控件的基本使用和一些高级功能,接下来的部分将继续深入探讨更多实用技巧和技术细节。
剩余81页未读,继续阅读
- 粉丝: 0
- 资源: 16
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助