Chinaunix首页 | 论坛 | 博客
  • 博客访问: 679306
  • 博文数量: 79
  • 博客积分: 2608
  • 博客等级: 少校
  • 技术积分: 889
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-19 23:57
个人简介

一家之计在于和,一生之计在于勤。

文章分类

全部博文(79)

文章存档

2022年(2)

2019年(1)

2017年(1)

2015年(2)

2014年(2)

2013年(2)

2012年(2)

2011年(6)

2010年(20)

2009年(13)

2008年(28)

分类:

2008-08-04 23:39:50

    将光标位置定格在datagridview中新添加记录的某列
今天更改人事系统,其中要求将光标位置定格在datagridview中新添加的记录的第二列。
开始想到的方法是直接将当前的datagridview的新建行的某列设置为焦点,但是没找到可行的办法,于是换个思路:
     //设定 (1, 0) 为当前单元格
     m_CurrentDGV.CurrentCell = m_CurrentDGV[1, 0];
     其中第一个参数是列下标,第二个参数是行下标。
但是这样是只是对一个固定的行上设焦点,如果连续添加两条,将不能固定焦点到下条新添加的行上,于是又想到要灵活就可以设个全局变量来记录添加的行数:
     int addRowNum = 0;//记录新添加记录的条数 add by xcx 2008-08-04
并在private void m_ToolStripMenuItem_New_Click(object sender, EventArgs e)事件中加以下语句:
    addRowNum=m_CurrentDGV.CurrentRow.Index;
    m_CurrentDGV.CurrentCell = m_CurrentDGV[1, addRowNum];
    addRowNum++;
但是如果只是这样的话,对于原来表中已经有记录的是没办法正确实现的,又想到用以下的方法即可了:
 
//将上面的选择行注释掉,添加将焦点放添加新记录的第二列上  add by xcx 2008-08-04
//如果下部表中原来有记录,则用m_CurrentDGV.Rows.Count获取,从而将其减一得到数组下标
    addRowNum = m_CurrentDGV.Rows.Count-1;
    m_CurrentDGV.CurrentCell = m_CurrentDGV[1, addRowNum];
    addRowNum++;
阅读(2445) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~