WEB开发网
开发学院软件开发VC 一个好用的VC DBGRID 阅读

一个好用的VC DBGRID

 2007-11-01 20:23:02 来源:WEB开发网   
核心提示:CStringm_strPass;//口令CStringm_strSource;//数据源名CStringm_strSql;//查询sqlCStringm_strUser;//用户名在类CDemo2Dlg中加入下面的几个成员变量CGridCtrl m_Grid;COdbcDBGRIDFILE *m_pMapFile;C

CString  m_strPass;//口令
CString  m_strSource;//数据源名
CString  m_strSql;//查询sql
CString  m_strUser;//用户名

在类CDemo2Dlg中加入下面的几个成员变量

CGridCtrl m_Grid;
COdbcDBGRIDFILE *m_pMapFile;
CImageList m_ImageList;
CDatabase m_db;

当然你要在CDemo2Dlg的声明文件中加入

#include "gridctrl.h"
#include "OdbcDBGRIDFILE.h"

在CDemo2Dlg::DoDataExchange(CDataExchange* pDX)函数中加入DDX_Control(pDX, IDC_GRIDODBC, m_Grid);

在CDemo2Dlg的构造函数中加入

m_pMapFile = NULL;

步骤三

用ClassWizard生成CDemo2Dlg的CDemo2Dlg::OnNotify消息响应函数,在这个函数中,输入如下的代码

BOOL CDemo2Dlg::OnNotify(WPARAM wParam, LPARAM lParam, LRESULT* pResult)
{
   if (wParam == (WPARAM)m_Grid.GetDlgCtrlID())
   {
     *pResult = 1;
     GV_DISPINFO *pDispInfo = (GV_DISPINFO*)lParam;
     if (GVN_GETDISPINFO == pDispInfo->hdr.code)
     {
       SetGridItem(pDispInfo);
       return TRUE;
     }
   }
   return CDialog::OnNotify(wParam, lParam, pResult);
}

在上面的代码中,SetGridItem(pDispInfo)是我们自己加的函数,在这个函数里我们设置当前要显示的数据

步骤四

为CDemo2Dlg加入查询按钮的响应函数OnBtnquery()

下面是这个函数的代码

void CDemo2Dlg::OnBtnquery()
{
     this->Release();/*这个函数用于释放资源的*/
     CString strConn;
   UpdateData(TRUE);
   strConn.Format("ODBC;DSN=%s;UID=%s;PWD=%s",m_strSource,m_strUser, m_strPass);
     BOOL bResult = m_db.Open(strConn);
   if(bResult == FALSE)
   {
       return;
   }/*上面的代码用于连接数据库*/
   m_pMapFile = new COdbcDBGRIDFILE(&m_Grid, &m_db, m_strSql, "c:\\csl.txt");
   m_pMapFile->InitGrid();/*初始化函数,用于创建内存映射文件等*/
   }

上一页  1 2 3 4  下一页

Tags:一个 好用 VC

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接