我用ADO+SQL Server做数据库程序,现在我有一个ADO的记录集,我现在怎样使用Datagrid控件来显示我的记录,以及Datagrid控件的使用,在网上找了很久,都未果,请大虾们帮帮忙!先谢了!

解决方案 »

  1.   

    ...
    m_Grid.SetRefDataSource(NULL);
    m_Grid.SetRefDataSource((LPUNKNOWN)m_pRecordset);
    m_Grid.Refresh();
    ...
    /// m_pRecordset是记录集对象
    /// m_Grid是DataGrid控件绑定的变量
      

  2.   

    大致有两种用法
    一。静态绑定:插入ADODC和DataGrid两个控件,设置ADODC的Control和Recordsource属性,
    设置DataGrid的DataSource(在All中找找)为ADODC的ID(正常情况下选择即可)
    设置DataGrid的AllowAddnew、AllowDelete和AllowUpdate等属性为真
    二。动态绑定:
    首先类似搂住所说,在插入DataGrid控件时,生成新类(CDataGrid必选,其余如COleFont等是情况而定)其次,可参考以下代码
    /// 假定m_pRecordset是一个已经正常打开的记录集
    CDataGrid m_Grid;
    ...
    m_Grid.SetRefDataSource(NULL);
    m_Grid.SetRefDataSource((LPUNKNOWN)m_pRecordset);
    m_Grid.Refresh();如果想直接增、删、改则同一中设置DataGrid的AllowAddnew、AllowDelete和AllowUpdate等属性为真,但是建议不直接在Grid中操作
      

  3.   

    程序发布时要注意两个方面(特别是用动态绑定时)
    一方面,开发机器与目标机器的ado版本不同可能导致程序不可用
    因此应尽量保证两个ado版本一致。
    可以到微软的网站下载一个MDAC(微软数据访问组件),
    现在一般是MDAC2.6、MDAC2.7,安装到开发机器和目标机器(打包
    到安装程序)。另一方面,要注册控件和相关动态连接库
    msdatgrd.ocx,comcat.dll,msbind.dll,mstdfmt.dll,stdftchs.dll
    都注册了就应该不会有什么问题。