没有合适的资源?快使用搜索试试~ 我知道了~
.NET 2.0 - WinForm Control - DataGridView 编程36计
需积分: 10 1 下载量 200 浏览量
2013-04-06
08:12:30
上传
评论
收藏 89KB DOC 举报
温馨提示
试读
20页
取得或者修改当前单元格的内容 ② 设定单元格只读 ③ 不显示最下面的新行 ④ 判断新增行 ⑤ 行的用户删除操作的自定义 ⑥ 行、列的隐藏和删除 ⑦ 禁止列或者行的Resize . ⑧ 列宽和行高以及列头的高度和行头的宽度的自动调整 ⑨ 冻结列或行 ⑩ 列顺序的调整 ⑪ 行头列头的单元格 ⑫ 剪切板的操作 ⑬ 单元格的ToolTip的设置 ⑭ 右键菜单(ContextMenuStrip)的设置 ⑮ 单元格的边框、网格线样式的设定 ⑯ 单元格表示值的设定 ⑰ 用户输入时,单元格输入值的设定 ⑱ 设定新加行的默认值
资源推荐
资源详情
资源评论
.NET2.0-WinFormControl-DataGridView编程 36 计
(一)
目录:
取得或者修改当前单元格的内容
② 设定单元格只读
③ 不显示最下面的新行
④ 判断新增行
⑤ 行的用户删除操作的自定义
⑥ 行、列的隐藏和删除
⑦ 禁止列或者行的 Resize.
⑧ 列宽和行高以及列头的高度和行头的宽度的自动调整
⑨ 冻结列或行
⑩ 列顺序的调整
⑪ 行头列头的单元格
⑫ 剪切板的操作
⑬ 单元格的 ToolTip 的设置
⑭ 右键菜单(ContextMenuStrip)的设置
⑮ 单元格的边框、网格线样式的设定
⑯ 单元格表示值的设定
⑰ 用户输入时,单元格输入值的设定
⑱ 设定新加行的默认值
① DataGridView取得或者修改当前单元格的内容:
当前单元格指的是DataGridView焦点所在的单元格,它可以通过DataGridView对象的C
urrentCell属性取得。如果当前单元格不存在的时候,返回 Nothing(C#是 null)
[C#]
//取得当前单元格内容
Console.WriteLine(DataGridView1currentCell.Value);
//取得当前单元格的列Index
Console.WriteLine(DataGridView1currentCellcolumnIndex);
//取得当前单元格的行Index
Console.WriteLine(DataGridView1currentCell.RowIndex);
另外,使用DataGridViewcurrentCellAddress属性(而不是直接访问单元格)来确定单元
格所在的行:DataGridViewcurrentCellAddress.Y和列:DataGridViewcurrentCellAddres
s.X。这对于避免取消共享行的共享非常有用。
当前的单元格可以通过设定DataGridView对象的CurrentCell来改变。可以通过Current
Cell来设定
DataGridView的激活单元格。将CurrentCell设为Nothing(null)可以取消激活的单元格。
[C#]
//设定(0,0)为当前单元格
DataGridView1currentCell=DataGridView1[0,0];
在整行选中模式开启时,你也可以通过CurrentCell来设定选定行。
///<summary>
///向下遍历
///</summary>
///<paramname=”sender”></param>
///<paramname=”e”></param>
*******voidbutton4_Click(objectsender,EventArgse)
{
introw=this.dataGridView1currentRow.Index+1;
if(row>this.dataGridView1.RowCount-1)
row=0;
this.dataGridView1currentCell=this.dataGridView1[0,row];
}
///<summary>
///向上遍历
///</summary>
///<paramname=”sender”></param>
///<paramname=”e”></param>
*******voidbutton5_Click(objectsender,EventArgse)
{
introw=this.dataGridView1currentRow.Index-1;
if(row<0)
row=this.dataGridView1.RowCount-1;
this.dataGridView1currentCell=this.dataGridView1[0,row];
}
*注意:this.dataGridView的索引器的参数是:columnIndex,rowIndex或是columnName,r
owIndex
这与习惯不同。
——————————————————————————–
② DataGridView设定单元格只读:
1)使用ReadOnly属性
⇒ 如果希望,DataGridView内所有单元格都不可编辑,那么只要:
[C#]
//设置DataGridView1为只读
DataGridView1.ReadOnly=true;
此时,用户的新增行操作和删除行操作也被屏蔽了。
[C#]
//设置DataGridView1的第 2 列整列单元格为只读
DataGridView1columns[1].ReadOnly=true;
//设置DataGridView1的第 3 行整行单元格为只读
DataGridView1.Rows[2].ReadOnly=true;
//设置DataGridView1的[0,0]单元格为只读
DataGridView1[0,0].ReadOnly=true;
2)使用EditMode属性
DataGridView.EditMode属性被设置为DataGridViewEditMode.EditProgrammatically时,
用户就不能手动编辑单元格的内容了。但是可以通过程序,调用DataGridView.BeginEdit
方法,使单元格进入编辑模式进行编辑。
[C#]
DataGridView1.EditMode=DataGridViewEditMode.EditProgrammatically;
3)根据条件设定单元格的不可编辑状态
当一个一个的通过单元格坐标设定单元格ReadOnly属性的方法太麻烦的时候,你可以通
过CellBeginEdit事件来取消单元格的编辑。
[C#]
//CellBeginEdit事件处理方法
*******voidDataGridView1_CellBeginEdit(objectsender,
DataGridViewCellCancelEventArgse)
{
DataGridViewdgv=(DataGridView)sender;
//是否可以进行编辑的条件检查
if(dgvcolumns[e.columnIndex].Name==”Column1″&&
!(bool)dgv["Column2",e.RowIndex].Value)
{
//取消编辑
ecancel=true;
}
}
——————————————————————————–
③ DataGridView不显示最下面的新行:
通常DataGridView的最下面一行是用户新追加的行(行头显示*)。如果不想让用户新
追加行即不想显示该新行,可以将DataGridView对象的AllowUserToAddRows属性设置
为False。
[C#]
//设置用户不能手动给DataGridView1添加新行
DataGridView1.AllowUserToAddRows=false;
但是,可以通过程序:DataGridViewRowCollection.Add为DataGridView追加新行。
补足:如果DataGridView的DataSource绑定的是DataView,还可以通过设置DataView
.AllowAdd
属性为False来达到同样的效果。
——————————————————————————–
④ DataGridView判断新增行:
DataGridView 的 AllowUserToAddRows 属性为 True 时也就是允许用户追加新行的场合下,
DataGridView 的最后一行就是新追加的行(*行)。使用DataGridViewRow.IsNewRow属性
可以判断哪一行是新追加的行。另外,通过 DataGridView.NewRowIndex可以获取新行的
行序列号。在没有新行的时候,NewRowIndex=-1。
——————————————————————————–
⑤DataGridView行的用户删除操作的自定义:
1)无条件的限制行删除操作。
默认时,DataGridView是允许用户进行行的删除操作的。如果设置DataGridView 对象的
AllowUserToDeleteRows 属性为False时,用户的行删除操作就被禁止了。
[C#]
//禁止 DataGridView1 的行删除操作。
DataGridView1.AllowUserToDeleteRows=false;
但是,通过DataGridViewRowCollection.Remove还是可以进行行的删除。
补足:如果DataGridView绑定的是DataView的话,通过DataView.AllowDelete也可以
控制行的删除。
剩余19页未读,继续阅读
资源评论
tzkjcn
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功