有多种方法可以获取单元格的值或者行列,此处选用了两种方式去获取分别用了CurrentCell方法和Rows[].Cells[]的方法去获取行列值

鼠标左键获取单独行列值

  • 此处获取左键行列值的触发条件是表格中数据变化获取,对应DataGridView事件CellValueChanged。
  • 用方法CurrentCell中的Value,RowIndex,ColumnIndex,分别对应了鼠标左键单元格选中的值,行,列。e.RowIndex>=0的判断要加上不加上容易报错。
private void dgvSRE_CellValueChanged(object sender, DataGridViewCellEventArgs e){object value = null;int ri = 0;int ci = 0;if (e.RowIndex >= 0){value = dgvSRE.CurrentCell.Value;ri = dgvSRE.CurrentCell.RowIndex;ci = dgvSRE.CurrentCell.ColumnIndex;}}

鼠标右键获取行

  • 此处获取右键行的触发条件是根据鼠标是否按下获取,对应DataGridView事件CellMouseDown。
  • 用Rows[].Cells[]方法去获取值,第一个判断是判断是判断是否由鼠标右键完成选取工作
  • 方法Selected是判断选取行是否处于高亮状态不是的话,赋予高亮状态。
int cellRi = 0;
private void dgvSRE_CellMouseDown(object sender, DataGridViewCellMouseEventArgs e){if (e.Button == MouseButtons.Right){if (e.RowIndex >= 0){if (dgvSRE.Rows[e.RowIndex].Selected == false){dgvSRE.ClearSelection();dgvSRE.Rows[e.RowIndex].Selected = true;}cellRi = dgvSRE.Rows[e.RowIndex].Index;}}}

鼠标右键获取行列值

  • 触发事件同上,一般情况下右键的时候选取的表格不会高亮所有需要判断和赋予高亮值才能方便观察,只需要在上面的基础上稍微更改就可以
 private void dgvSRE_CellMouseDown(object sender, DataGridViewCellMouseEventArgs e){if (e.Button == MouseButtons.Right){if (e.RowIndex >= 0){/*if (dgvSRE.Rows[e.RowIndex].Selected == false){dgvSRE.ClearSelection();dgvSRE.Rows[e.RowIndex].Selected = true;}*/if(dgvSRE.Rows[e.RowIndex].Cells[e.ColumnIndex].Selected == false){dgvSRE.ClearSelection();dgvSRE.Rows[e.RowIndex].Cells[e.ColumnIndex].Selected = true;}var cellRi = dgvSRE.Rows[e.RowIndex].Cells[e.ColumnIndex];object val = dgvSRE.Rows[e.RowIndex].Cells[e.ColumnIndex].Value;}}}

注意事项

  1. CurrentCell方法不是每个事件都可以使用有些事件该方法不能很好的获取到你想要的行列值这点要注意,所以推荐一般使用Rows[].Cells[]的方法去获取行列值。
  2. 注意存储行列时变量的范围,建议使用var或者object获取在根据个人需求进行转换
  3. 最后提醒一些判断也是需要的不然容易未获取到值而报错,或者鼠标左右键未判断而跑进来。

C#Winform中DataGridView控件根据鼠标左右键获取单元格值或者行列相关推荐

  1. c# WinForm开发 DataGridView控件的各种操作总结(单元格操作,属性设置)

    一.单元格内容的操作 *****// 取得当前单元格内容 Console.WriteLine(DataGridView1.CurrentCell.Value); // 取得当前单元格的列 Index ...

  2. C#Winform中DataGridView控件下的右键菜单事件获取行值方法

    //首先生成DataGridView的CellMouseDown事件private void dataGridView1_CellMouseDown(object sender, DataGridVi ...

  3. winform中datagridview控件的checkboxcolumn勾选状态失效

    近日,在做一个跨页多选导出的功能时遇到一个问题:我在第一页勾选多条数据,将勾选数据的唯一标识存储在变量中,跳转到第二页,也勾选几条数据,将勾选数据的唯一标识存储在变量中,然后再跳转回第一页,并根据变量 ...

  4. C#Winform的DataGridView控件使用详解2—DataGridView表格样式设置及表格操作

    C#Winform的DataGridView控件使用详解2-DataGridView表格样式设置及表格操作 DataGridView表格样式设置 DataGridView行序号设置 右键弹出控件表格操 ...

  5. C#Winform的DataGridView控件使用详解1—七种DataGridViewColumn类型使用方法

    C#Winform的DataGridView控件使用详解1-七种DataGridViewColumn类型使用方法 DataGirdView控件Column类型 DataGridViewButtonCo ...

  6. 在VS2008中DataGridView控件里DataGridViewComboBoxColumn列的Bug

    在VS2008中DataGridView控件里DataGridViewComboBoxColumn列的Bug: SQL数据库表(Product)格式: 列:Guid     产品名称    产品规格. ...

  7. C# winform中判断控件类型

    C# winform中对控件类型的判断: public void UpdataControl(Control control, string data) {if (control is TextBox ...

  8. Winform中Treeview控件失去焦点,将选择的节点设置为高亮显示 (2012-07-16 13:47:07)转载▼...

    Winform中Treeview控件失去焦点,将选择的节点设置为高亮显示 (2012-07-16 13:47:07)转载▼ 标签: winform treeview drawnode Treeview ...

  9. C#实现WinForm下DataGridView控件从剪切板中进行内容粘贴

    DataGridView是C#中在处理显示表格数据时常用的控件,但是在使用过程中,会发现复制DataGridView控件中的内容比较容易,而把剪切板中拷贝的内容黏贴到DataGridView控件中比较 ...

最新文章

  1. 《OpenCV3编程入门》学习笔记9 直方图与匹配(三)直方图对比
  2. 在SQLserver数据库里设置作业的步骤
  3. Web3DGame之路,Babylonjs 和TypeScript学习笔记(二)
  4. Android Service学习之本地服务
  5. 通达OA 新旧两种数据库连接方式
  6. groupby索引有效吗_面试官:MySQL建索引需要遵循哪些原则呢?
  7. php中介者,PHP设计模式 - 中介者模式
  8. 开发本无趣,看 Unity 如何为其绽放精彩!
  9. 关于蓝桥杯竞赛考试的一些信息~
  10. User Agent跨站攻击
  11. 分布式微服务开发_想要精通分布式微服务架构?你得先学会设计、原理与实战...
  12. 微软专家推荐11个Chrome 插件
  13. Activiti工作流引擎
  14. ROS做端口映射DDNS的N个做法详细教程
  15. 微信 app---uwp
  16. Python-脾气暴躁
  17. 如何轻松做好设备巡检管理?
  18. emlog模板易玩稀有
  19. 新手学习 python 的好工具:PyScripter
  20. 全排列-python递归解法

热门文章

  1. c语言工程实践小超市商品管理系统
  2. dwf怎么合成一个_文章详细信息
  3. 图像均值、标准差、变异系数的意义
  4. androidStudio gralde zip version 问题
  5. Linux内核驱动模块如何添加math.h
  6. 如何简单的把png转ico
  7. [C++题目] 根据快递商品的重量计算应付运费用
  8. AE火焰特效怎么做?两种方法快速实现高大上效果!
  9. linux tc 使用方法,Linux下TC使用说明
  10. 物化视图是否可以exp导出_ORACLE EXP(导出)/IMP(导入)的使用详解