RecordSet中数据由两个表中得来,DataGrid绑定,当在数据集中删除一条记录后该如何更新DataGrid显示?
refresh没有用,难道要重新打开数据集吗?那样的话定位到原记录下一条怎么处理?

解决方案 »

  1.   

    为什么用DataGrid?使用这种ActiveX控件严重没效率。
    用www.codeproject.com上的mfcgrid,纯MFC类库的grid控件。
    如果是mfcgrid只要:m_pGridCtrl->DeleteRow(m_pGridCtrl->GetFocusCell().row);
    m_pGridCtrl->Invalidate();刷新一下显示就行。
      

  2.   

    mfcgrid能够动态绑定ADO的数据库吗?
      

  3.   

    /// 在执行删除操作之前最好先把解除绑定
    /// 执行完删除操作以后最好看看游标位置/// 删除以后
    ...
    if(m_pRs->adoEOF)
      m_pRs->MovePrevious()
    m_Grid.SetRefDataSource(NULL);
    m_Grid.SetRefDataSource((LPUNKNOWN)m_pRs);
    m_Grid.Refresh();
    ...
      

  4.   

    m_pRs->MovePrevious()也不一定妥当
    m_pRs->MoveFirst()比较保险,但是也不妥当
    看具体情况吧
      

  5.   

    没办法,我先自己记录主键值
    m_pRs->requery后在定位显示