• DataGridView获取或者设置当前单元格的内容


    当前单元格指的是DataGridView焦点所在的单元格,它可以通过DataGridView对象的CurrentCell属性取得。如果当前单元格不存在的时候,返回null。

    取得当前单元格的内容:

    object obj = this.dgv_PropDemo.CurrentCell.Value;

    注:返回值是object类型的。

    取得当前单元格的列Index:

    int columnIndex = this.dgv_PropDemo.CurrentCell.ColumnIndex;

    取得当前单元格所在的行的Index:

    int rowIndex= this.dgv_PropDemo.CurrentCell.RowIndex;

    另外,使用DataGridView.CurrentCellAddress属性来确定单元格所在的行:

    int row= this.dgv_PropDemo.CurrentCellAddress.Y;

    列:

    int column = this.dgv_PropDemo.CurrentCellAddress.X;

    注:DataGridView的行和列的索引都是从0开始的。

    当前的单元格可以通过设定DataGridView对象的CurrentCell来改变。

    DataGridView1.CurrentCell=DataGridView1[int columnIndex,int rowIndex];

    注:如果DataGridVIew的选中模式是行选择,那么会选中当前单元格所在的整行。否则只会选中设置的当前单元格。

    将CurrentCell设置为Null可以取消激活的当前单元格。

    示例:设置第一行第二列为当前的CurrentCell

    this.dgv_PropDemo.CurrentCell = this.dgv_PropDemo[1, 0];

    示例:通过向上和向下实现遍历DataGridView

    /// <summary>
            /// 向上遍历
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void btn_Up_Click(object sender, EventArgs e)
            {
                //获取上一行的索引
                int upRowIndex = this.dgv_PropDemo.CurrentCell.RowIndex - 1;
                if (upRowIndex < 0)
                {
                    //选中最后一行
                    this.dgv_PropDemo.CurrentCell = this.dgv_PropDemo[0, this.dgv_PropDemo.RowCount - 1];
                }
                else
                {
                    this.dgv_PropDemo.CurrentCell = this.dgv_PropDemo[0, upRowIndex];
                }
            }
    
            /// <summary>
            /// 向下遍历
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void btn_Down_Click(object sender, EventArgs e)
            {
                 //获取下一行的索引
                int nextRowIndex = this.dgv_PropDemo.CurrentCell.RowIndex + 1;
                if (nextRowIndex > this.dgv_PropDemo.RowCount - 1)
                {
                    this.dgv_PropDemo.CurrentCell = this.dgv_PropDemo[0, 0];
                }
                else
                {
                    this.dgv_PropDemo.CurrentCell = this.dgv_PropDemo[0, nextRowIndex];
                }
            }
  • 相关阅读:
    Qt中的标准对话框之QMessageBox
    OpenCV相机标定坐标系详解
    typedef定义数组类型
    导出csv文件(使用a标签)
    获取过去某个时刻时间戳
    查看有没有绑这个host
    $.param()序列化对象
    推荐一个好用的模版引擎工具
    node定时任务
    使用vscode打断点
  • 原文地址:https://www.cnblogs.com/liuqifeng/p/9149760.html
Copyright © 2020-2023  润新知