将光标位置定格在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) |