1,获取当前单元格的值,可以用DataGridview对象的CurrentCell属性取得。若当前单元格不存在的时候,返回值为NULL。
///--取得当前单元格的值 label1.Text = dataGridView1.CurrentCell.Value.ToString();2,获取当前单元格所在的行: DataGriview. CurrentCellAddress. Y;获取当前单元格所在列: DataGriview. CurrentCellAddress.X;
label2.Text = dataGridView1.CurrentCellAddress.Y.ToString();3,设定当前选中的单元格的方法: DataGridview. CurrentCell。取消设定单元格的方法: DataGridview. CurrentCell = null;
dataGridView1.CurrentCell = dataGridView1[1,0];4,设定 所有单元格为 不可编辑。
dataGridView1.ReadOnly = true;5,指定 某个单元格或者 某行或者 某列为只读模式:
///---指定某列可读 dataGridView1.Columns[1].ReadOnly = true; ///--指定某行可读 dataGridView1.Rows[1].ReadOnly = true; ///---指定单元格可读 dataGridView1[0, 5].ReadOnly = true;6,当设定单元格为不可编辑状态时,可以使用 CellBeginEdit事件来取消单元格的编辑模式:
这里,先看看我的表格里面的数据吧。
取消编辑代码:
/// <summary> /// ---DataGriview设定所有单元格为只读模式下解除不可编辑模式 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void dataGridView1_CellBeginEdit(object sender, DataGridViewCellCancelEventArgs e) { DataGridView dataGridview = (DataGridView)sender; ///--是否进行编辑条件检查 if (dataGridview.Columns[e.ColumnIndex].Name == "合同 编号" && !(bool)dataGridview["是否签订", e.RowIndex].Value) { ///---取消编辑 e.Cancel = true; } }7,通常 DataGridview的最下面一行是用户新追加的一行(行头显示 *),禁止用户新的一行行,可以设置 DataGridview对象的 AllowUserToAddRows为 false即可。
///---禁止创建新的一行 dataGridView1.AllowUserToAddRows = false;
8,DataGridview默认是允许删除行的。设置属性AllowUserToDeleteRows为false,则用户就不能删除行了.
///---禁止删除行 dataGridView1.AllowUserToDeleteRows = false;9,行删除时的条件判断。行删除时,会触发DataGridview.UserDeleteingRow事件。在该事件里,我们可以判断条件并取消删除操作
/// <summary> /// --删除行时触发的消息事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void dataGridView1_UserDeletingRow(object sender, DataGridViewRowCancelEventArgs e) { ///--删除前做确认 if (DialogResult.OK != MessageBox.Show("确定删除选中行数据吗?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question)) { ///---选择的是取消。 e.Cancel = true; } }10,DataGridview隐藏行,列
///---隐藏第一行 dataGridView1.Columns[0].Visible = false; ///---第一列 dataGridView1.Rows[0].Visible = false;11,隐藏行头
///---隐藏行头 dataGridView1.RowHeadersVisible = false;12,DataGridview的删除
///-----删除指定列 dataGridView1.Columns.Remove("列名"); ///----删除第3列 dataGridView1.Columns.RemoveAt(2); ///---删除第一行 dataGridView1.Rows.RemoveAt(0);13,删除选中行
///---删除指定行 foreach (DataGridViewRow row in dataGridView1.SelectedRows) { if (!row.IsNewRow) { dataGridView1.Rows.Remove(row); } }14,禁止某列的或者行的Resize
///--禁用第一行的Resize dataGridView1.Rows[0].Resizable = DataGridviewTriState.False; ///---禁用某列的Resize dataGridView1.Columns[0].Resizable = DataGridviewTriState.False;15,禁止所有的行或者列的Resize
///--禁用某行的Resize dataGridView1.AllowUserToResizeRows = false; ///---禁用某列的Resize dataGridView1.AllowUserToResizeColumns = false;16,列宽和行宽最小值的设定
///---设定第一列宽度最小值为10 dataGridView1.Columns[0].MinimumWidth = 10; ///---设定第一行 的最下高度为10 dataGridView1.Rows[0].MinimumHeight = 10;17,DataGridview冻结列
///---冻结列 ///--左侧的2列被固定 dataGridView1.Columns[1].Frozen = true;注意: DataGridView . AllowUserToOrderColumns = True 时,固定列 不能 移动到非固定列, 反之亦然
///---行冻结 ///---设定第一列被冻结 dataGridView1.Rows[0].Frozen = true;19,DataGridview修改行头和列头的单元格的值
///--修改第一列列头的值 dataGridView1.Columns[0].HeaderCell.Value = "填写要修改的值"; ///--修改第一行行头的值 dataGridView1.Rows[0].HeaderCell.Value = "填写要修改的值"; ///---修改左上部单元格的值 dataGridView1.TopLeftHeaderCell.Value = "左上";20, 通过修改HeaderText的值修改列头的值
///--修改第一列头的值 dataGridView1.Columns[0].HeaderText = "第一列";
其实,我就想知道,咱们的博客背景能在保证不失去CSDN风格基础上自定义背景不。。。。。
看到这里的朋友,国庆节 Happy!
今天10.1,刚刚挑了个时间13:14给晓帅歌电话嘛,结果.........希望我没打扰到TA的雅兴呢,高高兴兴度过7天小长假哈。
来自晓帅歌的分享,再次贴出来: