获取 DataGridView 控件中选中的单元格

  • 使用 SelectedCells 属性。

    注意

    使用 AreAllCellsSelected 方法可避免显示可能具有大量数据的单元格。

    Visual Basic
    复制代码

    Private Sub selectedCellsButton_Click( _ByVal sender As Object, ByVal e As System.EventArgs) _Handles selectedCellsButton.Click
    
    Dim selectedCellCount As Integer = _        dataGridView1.GetCellCount(DataGridViewElementStates.Selected)
    
    If selectedCellCount > 0 Then
    
    If dataGridView1.AreAllCellsSelected(True) Then
    
                MessageBox.Show("All cells are selected", "Selected Cells")
    
    Else
    
    Dim sb As New System.Text.StringBuilder()
    
    Dim i As IntegerFor i = 0 To selectedCellCount - 1
    
                    sb.Append("Row: ")                sb.Append(dataGridView1.SelectedCells(i).RowIndex _                    .ToString())                sb.Append(", Column: ")                sb.Append(dataGridView1.SelectedCells(i).ColumnIndex _                    .ToString())                sb.Append(Environment.NewLine)
    
    Next i
    
                sb.Append("Total: " + selectedCellCount.ToString())            MessageBox.Show(sb.ToString(), "Selected Cells")
    
    End If
    
    End If
    
    End Sub

    C#
    复制代码

    private void selectedCellsButton_Click(object sender, System.EventArgs e){    Int32 selectedCellCount =        dataGridView1.GetCellCount(DataGridViewElementStates.Selected);if (selectedCellCount > 0)    {if (dataGridView1.AreAllCellsSelected(true))        {            MessageBox.Show("All cells are selected", "Selected Cells");        }else        {            System.Text.StringBuilder sb =new System.Text.StringBuilder();
    
    for (int i = 0;                i < selectedCellCount; i++)            {                sb.Append("Row: ");                sb.Append(dataGridView1.SelectedCells[i].RowIndex                    .ToString());                sb.Append(", Column: ");                sb.Append(dataGridView1.SelectedCells[i].ColumnIndex                    .ToString());                sb.Append(Environment.NewLine);            }
    
                sb.Append("Total: " + selectedCellCount.ToString());            MessageBox.Show(sb.ToString(), "Selected Cells");        }    }}

获取 DataGridView 控件中选中的行

  • 使用 SelectedRows 属性。若要使用户能够选择行,您必须将 SelectionMode 属性设置为 FullRowSelect 或 RowHeaderSelect。

    Visual Basic
    复制代码

    Private Sub selectedRowsButton_Click( _ByVal sender As Object, ByVal e As System.EventArgs) _Handles selectedRowsButton.Click
    
    Dim selectedRowCount As Integer = _        dataGridView1.Rows.GetRowCount(DataGridViewElementStates.Selected)
    
    If selectedRowCount > 0 Then
    
    Dim sb As New System.Text.StringBuilder()
    
    Dim i As IntegerFor i = 0 To selectedRowCount - 1
    
                sb.Append("Row: ")            sb.Append(dataGridView1.SelectedRows(i).Index.ToString())            sb.Append(Environment.NewLine)
    
    Next i
    
            sb.Append("Total: " + selectedRowCount.ToString())        MessageBox.Show(sb.ToString(), "Selected Rows")
    
    End If
    
    End Sub

    C#
    复制代码

    private void selectedRowsButton_Click(object sender, System.EventArgs e){    Int32 selectedRowCount =        dataGridView1.Rows.GetRowCount(DataGridViewElementStates.Selected);if (selectedRowCount > 0)    {        System.Text.StringBuilder sb = new System.Text.StringBuilder();
    
    for (int i = 0; i < selectedRowCount; i++)        {            sb.Append("Row: ");            sb.Append(dataGridView1.SelectedRows[i].Index.ToString());            sb.Append(Environment.NewLine);        }
    
            sb.Append("Total: " + selectedRowCount.ToString());        MessageBox.Show(sb.ToString(), "Selected Rows");    }}

获取 DataGridView 控件中选中的列

  • 使用 SelectedColumns 属性。若要使用户能够选择列,您必须将 SelectionMode 属性设置为 FullColumnSelect 或 ColumnHeaderSelect。

    Visual Basic
    复制代码

    Private Sub selectedColumnsButton_Click( _ByVal sender As Object, ByVal e As System.EventArgs) _Handles selectedColumnsButton.Click
    
    Dim selectedColumnCount As Integer = dataGridView1.Columns _        .GetColumnCount(DataGridViewElementStates.Selected)
    
    If selectedColumnCount > 0 Then
    
    Dim sb As New System.Text.StringBuilder()
    
    Dim i As IntegerFor i = 0 To selectedColumnCount - 1
    
                sb.Append("Column: ")            sb.Append(dataGridView1.SelectedColumns(i).Index.ToString())            sb.Append(Environment.NewLine)
    
    Next i
    
            sb.Append("Total: " + selectedColumnCount.ToString())        MessageBox.Show(sb.ToString(), "Selected Columns")
    
    End If
    
    End Sub

    C#
    复制代码

    private void selectedColumnsButton_Click(object sender, System.EventArgs e){    Int32 selectedColumnCount = dataGridView1.Columns        .GetColumnCount(DataGridViewElementStates.Selected);if (selectedColumnCount > 0)    {        System.Text.StringBuilder sb = new System.Text.StringBuilder();
    
    for (int i = 0; i < selectedColumnCount; i++)        {            sb.Append("Column: ");            sb.Append(dataGridView1.SelectedColumns[i].Index                .ToString());            sb.Append(Environment.NewLine);        }
    
            sb.Append("Total: " + selectedColumnCount.ToString());        MessageBox.Show(sb.ToString(), "Selected Columns");    }}

---------------------------------

转载于:https://www.cnblogs.com/chenbg2001/archive/2010/08/29/1812057.html

获取 Windows 窗体 DataGridView 控件中选定的单元格、行和列相关推荐

  1. 如何:从 Windows 窗体 DataGridView 控件中移除自动生成的列

    如果将 DataGridView 控件设置为根据其数据源中的数据自动生成列,则可以选择忽略某些列.可以通过调用 Columns 集合的 Remove 方法进行此操作.或者,也可通过将 Visible ...

  2. 如何:在 Windows 窗体 ListView 控件中启用平铺视图 【转载】

    本文转载自http://msdn.microsoft.com/zh-cn/library/s8z85th0(VS.80).aspx 借助于 ListView 控件的平铺视图功能,可以在图形信息和文本信 ...

  3. 窗体DataGridView控件中按回车键时,单元格向下移动,如何能改成向右移动

    方法一: protected override void OnKeyUp(System.Windows.Forms.KeyEventArgs e) { base.OnKeyUp(e); if (e.K ...

  4. 在DataGridView控件中加入ComboBox下拉列表框的实现

    原文 http://www.cnblogs.com/luqingfei/archive/2007/03/28/691372.html 虽然在Visual Studio中 DataGridView控件的 ...

  5. C# 选中 DataGridView 控件中的行时显示不同的颜色

    可以利用 DataGridView 控件的 SelectionMode.ReadOnly 和 SelectionBackColor 属性实现当选中DataGridView控件中的行时显示不同的颜色. ...

  6. 在DataGridView控件中一次显示出多个圆饼图的原始程序代码

    之前我们曾经提到过,您可以在Windows Form窗体上的一个DataGridView控件中一次显示出多个圆饼图(或其它形式的统计图表)以便能够一次检视多个群组数据的比例情况(如图表1所示).当时并 ...

  7. Visual C# 2005 - 如何于DataGridView控件中以跨数据行方式显示数据

    <?XML:NAMESPACE PREFIX = O /> 图表1 一般来说,每一个字段的内容会单独显示于DataGridView控件的一个数据行中.问题是,某些字段拥有大量文字数据,我是 ...

  8. DataGridView 控件中至少有一列没有单元格模板的解决

    当程序动态为DataGridView添加一列时如果这样写: DataGridViewColumn col = new DataGridViewColumn (); col.Name = "c ...

  9. DataGridView 控件中DataBind( )方法不能使用的情况的解决方案

    DataGridView 控件中DataBind( )方法不能使用的情况的解决方案 参考文章: (1)DataGridView 控件中DataBind( )方法不能使用的情况的解决方案 (2)http ...

最新文章

  1. Oracle 又裁员,传 N+6 补偿
  2. [YTU]_2915(Shape系列-1)
  3. 判断子序列不同的子序列两个字符串的删除操作编辑距离
  4. Andrew Ng's Deep Learning学习记录
  5. 使用内存映射文件获取巨大的矩阵
  6. javascript 的线程问题
  7. Matplotlib 入门(详看注释)
  8. Android Studio的Project有某个项目,Build Variants却没有,如何添加物已有项目?
  9. Trendmicro Officescan 服务器迁移
  10. 以太网转串口代码C语言,基于STM32 串口转以太网收发数据(stm32移植代码+网络调试助手等)...
  11. [Android 4.4.3] 泛泰A860 Omni4.4.3 20140610 RC2.0 三版通刷 by syhost
  12. mysql 时区时间_mysql的时间不对(时区问题)
  13. 超级NB的防DDOS(小量级)攻击的脚本
  14. 2021-02-22
  15. 兰博基尼推出全新混动超跑Revuelto
  16. 四、项目进度管理20题
  17. QueryList异步抓取网页数据
  18. 驱动能力,带负载能力
  19. Caused by:java.io.IOException:Could not find resourse UserMapper.xml
  20. Word文档很乱怎么办 杂乱的文章word排版教程

热门文章

  1. birt脚本for循环语句_如何使用 for 循环语句嵌套方法!
  2. 麒麟810处理器_何刚口中第二颗7nm处理器麒麟810曝光:将搭载自研NPU
  3. 计算机图形学Web前端笔记-图形平移放缩原理及实现(two.js鼠标事件适用所有渲染)
  4. MySQL入门之视图
  5. 最简单的模拟U盘病毒(Autorun.inf)
  6. Php的if自动转换类型,php类型的自动转换
  7. python多个对象调用类方法、且之间有联系_趣味解读Python面向对象编程 (类和对象)...
  8. 莫烦python简历_Matplotlib画图教程
  9. java的内存管理_操作系统实验——java内存管理
  10. android获取文件夹里最新的文件夹,Android 获取已存在的文件所在目录下的所有文件为null。...