ClickDataGrid中代码如下,
 UpdateData();
//用CStringArray保存得到的数据
 CStringArray arrGetValue;
 arrGetValue.RemoveAll();
 CColumns columns;
 CColumn column;
 VARIANT index;
CString strTemp;
index.vt=VT_INT;
 columns=m_DataGrid.GetColumns();  //m_DataGrid为关联的DataGrid控件变量得到当前选中行的列集
   index.lVal =0;//设定为第0列
  column = columns.GetItem(index);//得到第一列单元格的值
  strTemp = column.GetText();
比如表格中有两行数据(第一行为1,1;第二行为2,2)
第一列   第二列
 1        1
 2        2
当进入程序后,焦点默认是第一行的,我鼠标点击角度在第二行时候,单步调试,strTemp="1",而不是我想要的2?请问怎做才能得到?谢谢!

解决方案 »

  1.   

    终于找到相似的问题了。
    http://bbs.csdn.net/topics/300109938
    使用VC6自带的DataGrid6.0控件。使用ADO连数据库显示,想在点击其中一个单元格时得到对应的行列值。 
    在ClassWizard中查了一下该控件的事件,只有RowColChange事件有点靠谱。响应函数为OnRowColChangeDatagrid1(VARIANT FAR* LastRow, short LastCol) ,但形参中返回的是上一次选中的单元格的行列而不是当前选中的单元格的行列值。还有另一个事件Click,想在单击响应函数中调用控件的方法GetRow()GetCol(),但得到的也是上次选中的单元格的行列号。翻了下MSDN,因为没有6.0的MSDN,找了一下2005的,发现讲的全都是.net中的DataGrid,没有6.0版本,Google上也没有找到相应的例程,不知哪位大侠在VC6下用过DataGrid,应该如何在鼠标点击时获取当前单元格的行列号?谢谢! 
    最后说一下,就是添加这个事件来读取即可:OnRowColChange!!!!
      

  2.   

    http://bbs.csdn.net/topics/300109938