1. 在可自定义的网格中显示数据。
int columnIndex = dataGridView1.CurrentCell.ColumnIndex;
int rowIndex = dataGridView1.CurrentCell.RowIndex;
dataGridView1.CurrentCell = dataGridView1[columnIndex - 1, rowIndex - 1]; // 实例[列数, 行数] 可以提取每个cell的值!
2. DataGridView 属性:
- AllowUserToAddRows:获取或设置一个值,该值指示是否向用户显示添加行的选项。
- AllowUserToDeleteRows:获取或设置一个值,该值指示是否允许用户从 DataGridView 中删除行。
- AllowUserToOrderColumns:获取或设置一个值,该值指示是否允许通过手动对列重新定位。【是否可以左右拖拽】
- AutoSizeColumnsMode:获取或设置一个值,该值指示如何确定列宽。
DataGridViewAutoSizeColumnsMode 枚举:- AllCells:列宽调整到适合列中所有单元格(包括标头单元格)的内容。
- AllCellsExceptHeader:列宽调整到适合列中除标头单元格以外所有单元格的内容。
- DisplayedCells:列宽调整到适合位于屏幕上当前显示的行中的列的所有单元格(包括标头单元格)的内容。
- DisplayedCellsExceptHeader:列宽调整到适合位于屏幕上当前显示的行中的列的所有单元格(不包括标头单元格)的内容。
- None:列宽不会自动调整。
- ColumnHeader:列宽调整到适合列标头单元格的内容。
- Fill:列宽调整到使所有列宽精确填充控件的显示区域,要求使用水平滚动的目的只是保持列宽大于 DataGridViewColumn.MinimumWidth 属性值。相对列宽由相对 DataGridViewColumn.FillWeight 属性值决定。
- AutoSizeRowsMode:获取或设置一个值,该值指示如何确定行高。
DataGridViewAutoSizeRowsMode 枚举: - AllowUserToResizeColumns:获取或设置一个值,该值指示用户是否可以调整列的大小。
- AllowUserToResizeRows:获取或设置一个值,该值指示用户是否可以调整行的大小。
- BackColor:获取或设置控件的背景色。
- BackgroundColor:获取或设置 DataGridView 的背景色。
- ClientSize:获取或设置控件的工作区的高度和宽度。
- ColumnCount:获取或设置 DataGridView 中显示的列数。
- ColumnHeadersBorderStyle:获取应用于列标题的边框样式。
- Custom:
- Single:
- Raised:
- Sucken:
- None:
- ColumnHeadersDefaultCellStyle:获取或设置默认列标题样式。
DataGridViewCellStyle 类:表示应用到 DataGridView 控件中的各个单元格的格式设置和样式信息。 - ColumnHeadersHeight:获取或设置列标题行的高度(以像素为单位)
- ColumnHeadersHeightSizeMode:获取或设置一个值,该值指示是否可以调整列标题的高度,以及它是由用户调整还是根据标题的内容自动调整。
- EnableResizing:
- DisableResizing:
- AutoSize:
- ColumnHeadersVisible:获取或设置一个值,该值指示是否显示列标题行。
- Columns:获取一个包含控件中所有列的集合。
DataGridViewColumnCollection 类:表示 DataGridView 控件中的 DataGridViewColumn 对象的集合。- Remove:从集合中移除列。
- RemoveAt:从集合中移除给定索引处的列。
' 删除名为"Column1"的列 DataGridView1.Columns.Remove("Column1"); ' 删除第一列 DataGridView1.Columns.RemoveAt(0); ' 删除第一行 DataGridView1.Rows.RemoveAt(0);
DataGridViewColumn 类:表示 DataGridView 控件中的列。
- Visible:获取或设置一个值,指示该列是否可见。
- Resizable:获取或设置一个值,指示该列的大小是否可调。
- Selected:获取或设置一个值,该值指示带区是否为被选定。
- ReadOnly:获取或设置一个值,指示用户是否可以编辑列的单元格。
dataGridView1.Columns[1].ReadOnly = true; //第二列只读
- Width:获取或设置列的当前宽度。
- MiniWidth:获取或设置列的最小宽度。
- Frozen:获取或设置一个指示列是否已被冻结的值。【指示列左侧之间可以互相拖拽,但是不能往有拖拽】
- HeaderCell:获取或设置表示列标题的 DataGridViewColumnHeaderCell。
- HeaderText:获取或设置列标题单元格的标题文本。
- CurrentCell:获取或设置当前处于活动状态的单元格。
DataGridViewCell 类:表示 DataGridView 控件中的单个单元格。- Value:获取或设置与此单元格关联的值。
- ColumnIndex:获取此单元格的列索引。
- RowIndex:
- ReadOnly:获取或设置一个值,该值表示是否可以编辑该单元格的数据。
- CurrentCellAddress:获取当前处于活动状态的单元格的行索引和列索引。 【返回 Point】
- CurrentRow:获取包含当前单元格的行。
DataGridViewRow 类:表示 DataGridView 控件中的行。- Cells:获取用于填充行的单元格集合。
DataGridViewCellCollection 类:表示 DataGridViewRow 中单元格的集合。- Item:获取或设置给定位置处的项。通过 实例[列名 or index] 来实现!
for (int i = 0; i < selectedRows.Count;i++ ) { DataGridViewRow row = selectedRows[i]; strOID = row.Cells[2].Value.ToString(); //用索引 index OIDList.Add(strOID); }
for (int i = 0; i < selectedRows.Count;i++ ) { DataGridViewRow row = selectedRows[i]; strOID = row.Cells["CITY_NAME"].Value.ToString(); //用列名称 OIDList.Add(strOID); }
- Count:获取集合中元素的总数。
- IsReadOnly:获取一个值,该值指示集合是否为只读。
- Item:获取或设置给定位置处的项。通过 实例[列名 or index] 来实现!
- Visible:隐藏。
- Visible:获取或设置一个值,指示该列是否可见。
- Resizable:获取或设置一个值,指示该列的大小是否可调。
- Selected:获取或设置一个值,该值指示带区是否为被选定。
- ReadOnly:获取或设置一个值,指示用户是否可以编辑列的单元格。
dataGridView1.Rows[1].ReadOnly = true; //第二行只读
- Height:获取或设置行的当前高度。
- MinimumHeight:获取或设置行的最小高度。
- Frozen:获取或设置一个指示行是否已被冻结的值。
- Cells:获取用于填充行的单元格集合。
- DataSource:获取或设置 DataGridView 所显示数据的数据源。
清空数据的方法:dataGridView1.DataSource = null;
导入数据的方法:
//导入数据 DataTable table = new DataTable(); //首先创建表格 DataColumn columnID = new DataColumn("ID"); //创建列 ID DataColumn columnName = new DataColumn("Name"); //创建列 Name table.Columns.Add(columnID); //增加列 ID table.Columns.Add(columnName); //增加列 Name for (int i = 1; i < 10; i++) { DataRow row = table.NewRow(); //新建行 row[0] = i.ToString(); //为该行中的第一列添加值 row[1] = "中国" + i.ToString(); //为该行中的第二列添加值 table.Rows.Add(row); //将该行添加到 } dataGridView1.DataSource = table; //将表加到框架中 dataGridView1.Columns[0].Width = 40; //定义列宽 dataGridView1.ClearSelection(); //清空选择 dataGridView1.Rows[1].Selected = true; //选择第二行
- DefaultCellStyle:在未设置其他单元格样式属性的情况下,获取或设置应用于 DataGridView 中的单元格的默认单元格样式。
- EditMode:获取或设置一个值,该值指示如何开始编辑单元格。
- EditOnEnter:当单元格接收到焦点时即可开始编辑。在按 Tab 键在行中横向输入值,或按 Enter 键在列中纵向输入值时,此模式非常有用。
- EditOnKeystroke:当单元格获得焦点时按任意字母数字键开始编辑。
- EditOnKeystrokeOrF2:当单元格获得焦点时按任意字母数字键或 F2 开始编辑。
- EditOnF2:当单元格获得焦点时按 F2 开始编辑。此模式将选择点放置在单元格内容的末尾。
- EditProgrammatically:仅在调用 BeginEdit 方法时开始编辑。
- RowCount:获取或设置 DataGridView 中显示的行数。
- RowHeadersBorderStyle:
- RowHeadersDefaultCellStyle:
- RowHeadersVisible:是否显示行头~默认为 true!
- RowHeadersWidth:
- RowHeadersWidthSizeMode:
- Rows:
DataGridViewRowCollection 类:DataGridViewRow 对象的集合。- Remove:从集合中移除行。
- RemoveAt:从集合中移除指定位置处的行。
foreach (DataGridViewRow r in dataGridView1.SelectedRows) { if (!r.IsNewRow) { dataGridView1.Rows.Remove(r); } }
- ReadOnly:获取或设置一个值,该值表示是否可以编辑该单元格的数据。
- ScrollBars:获取或设置要在 DataGridView 控件中显示的滚动条的类型。
- SelectedCells:获取用户选定的单元格的集合。
- SelectedColumns:获取用户选定的列的集合。
- SelectedRows:获取用户选定的行的集合。
DataGridViewSelectedRowCollection 类:表示在 DataGridView 中选定的 DataGridViewRow 对象的集合。- Item:获取指定索引处的行。就是 实例[i] 的效果。
- Count:获取集合中元素的总数。选择了几行!
删除选择的行DataGridViewSelectedRowCollection selectRows = dataGridView1.SelectedRows; for (int i = 0; i < selectRows.Count;i++ ) { DataGridViewRow row = selectRows[i]; dataGridView1.Rows.Remove(row); }
- SelectionMode:获取或设置一个值,该值指示如何选择 DataGridView 的单元格。
- CellSelect:可以选定一个或多个单元格。
- FullRowSelect:通过单击行的标头或是该行所包含的单元格选定整个行。
- FullColumnSelect:通过单击列的标头或该列所包含的单元格选定整个列。
- RowHeadersSelect:通过单击行的标头单元格选定此行。通过单击某个单元格可以单独选定此单元格。
- ColumnHeadersSelect:可以通过单击列的标头单元格选定此列。通过单击某个单元格可以单独选定此单元格。
- ShowCellToolTips:获取或设置一个值,该值指示当鼠标指针停留在单元格上时,是否显示工具提示。
- SortedColumn:获取 DataGridView 内容的当前排序所依据的列。
- SortOrder:获取一个值,该值指示是按升序或降序对 DataGridView 控件中的项进行排序,还是不排序。
- None:项未排序。
- Ascending:项按递增顺序排序。
- Descending:项按递减顺序排序。
- StandardTab:获取或设置一个值,该值指示按 Tab 键是否会将焦点按 Tab 键顺序移到下一个控件,而不是将焦点移到控件中的下一个单元格。
- TopLeftHeaderCell:获取或设置位于 DataGridView 控件左上角的标题单元格。
3. DataGridView 方法:
- BeginEdit:将当前的单元格置于编辑模式下。
- CancelEdit:取消当前选定单元格的编辑模式并丢弃所有更改。
- ClearSelection:取消对当前选定的单元格的选择。
- CreateColumnsInstance:创建并返回一个新的 DataGridViewColumnCollection。
- EndEdit: 提交对当前单元格进行的编辑并结束编辑操作。
- GetCellCount:获取满足所提供筛选器的单元格的数目。
4. DataGridView 事件:
- CellMouseDown:当鼠标指针位于单元格的边界内时,在用户按鼠标按钮时发生。
(object sender, DataGridViewCellMouseEventArgs e)- e.ColumnIndex:鼠标点击处的列索引!
- e.RowIndex:鼠标点击处的行索引!
- CellMouseMove:
- CellMouseUp:
- UserAddedRow:在用户完成向 DataGridView 控件中添加行时发生。
- UserDeletedRow:在用户完成从 DataGridView 控件中删除行时发生。
- UserDeletingRow:在用户从 DataGridView 控件中删除行时发生。
if (MessageBox.Show("Sure?", "Warning", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning) == DialogResult.Cancel) { e.Cancel = true; //选择取消,则不删除 }
- SelectionChanged:在当前选择出现更改时发生。
※ http://www.cnblogs.com/peterzb/archive/2009/05/29/1491891.html