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

一个好用的DBGRID

 2010-06-04 20:37:47 来源:WEB开发网   
核心提示:按照下面的步骤做一遍,你就能够知道它是不是很实用了,一个好用的DBGRID(3),步骤一新建一个基于对话框的工程,命名为demo2,打开stdafx.h文件,输入如下的代码BOOL CDemo2Dlg::OnNotify(WPARAM wParam, LPARAM lParam, LRESULT* pResult){i

按照下面的步骤做一遍,你就能够知道它是不是很实用了。

步骤一

新建一个基于对话框的工程,命名为demo2,打开stdafx.h文件,加入#include<afxdb.h>,从例子中把OdbcDBGRIDFILE.h, OdbcDBGRIDFILE.cpp复制到这个工程的目录下,并且加入到工程中,方法是菜单project->add to project->files,选择这二个文件就可以了。不要忘了,你要把CGRIDCTRL类的文件都包含进来。

步骤二

在对话框上,按照上面的样例放上一个CURSTOMER CTROL(就是一个人头的那个控件),在属性的CLASS上输入MFCGridCtrl,ID为IDC_GRIDODBC,然后在放上其它编辑框和按钮控件,为四个编辑框控件通过CLASSWIZARD关联变量

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:一个 好用 DBGRID

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