我使用ADO+DataGrid的方式显示数据,现在想把双击某条记录,即某行,显示该记录的详细信息,如何实现。请大家帮忙。谢谢。

解决方案 »

  1.   

    选中的行记录在Row属性中,你改变Col属性,然后取Text属性的值就可以了。
      

  2.   

    另外DataGrid不好用,MSFlexGrid好些!(也是上面的用法)
      

  3.   

    用TextMatrix属性也可以。这个可以查MSDN中VB的帮助。用法是一样的。
      

  4.   

    试试处理控件的mousedown/mouseup
      

  5.   

    为CDataGrid类添加成员函数GetItem()
    CString CDataGrid::GetItem(int ColNum) //ColNum 指定的列
    {  
       //返回当前CDataGrid对象对应的CColumns对象
       CColumns cols = GetColumns();
       VARIANT v_ColNum,v_Value;
       //设置列编号
       v_ColNum.vt = VT_I2 // int
       v_ColNum.iVal = ColNum;
       //根据列编号返回CColumn对象
       CColumn col = cols.GetItem(v_ColNum); //CColumn <> CColumns
       //读取列
       v_Value = col.GetValue();
       
       return v_Value.bstrVal;
    }
      

  6.   

    _RecordsetPtr rs;
    _variant_t    var;
    rs.CreateInstance(__uuidof(Recordset));
    rs = (_RecordsetPtr)m_Grid.GetDataSource();
    var = rs->GetCollect("id");
    CString str = (char *)_bstr_t(var);

    AfxMessageBox(str);