VC6下的DBGrid控件和RemoteDataCtrl控件如何用? 留下你的E地址,我这里有篇文章:[email protected] 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我我!!同病相怜!!我有一个source!! to vcmfc:hai!good morning!I am developing a program with dbgrid,but I meet the same question as gentlemen.Can you give me a copy of your source program ?thank you![email protected] DBGrid 在VC 5.0中 的 使 用 在VC5.0 中 使 用DBGrid 控 件, 首 先 要 运 行 ODBC 数 据 源 管 理 程 序 安 装 数 据 源( 我 们 以 数 据 源 是STUDENT 为 例)。 出 现ODBC Microsoft Access 97 Setup 对 话 框, 输 入 数 据 源 名Student 以 及 选 择 好 数 据 库student.mdb, 然 后 单 击OK, 再 确 定 完 成 设 置。 ----与 在VB 中 使 用DBGrid 控 件 相 类 似, 在VC 中 使 用DBGrid 控 件 也 需 要 一 个 类 似 于Data 的 控 件, 不 过 它 叫RemoteData 控 件。 ----下 面 我 们 举 两 个 示 例 程 序 来 演 示DBGrid 控 件 的 使 用 方 法, 这 两 个 示 例 的 项 目 名 都 为DBGrid。 一 示 例 程 序----按 如 下 步 骤 创 建: 运 行AppWizard 生 成 项 目DBGrid。 除 选 择Single Document 和 CDBGridView 的 基 类 改 为FormView 以 外, 其 他 均 按 默 认 设 置 处 理。 在 项 目DBGrid 中 添 加DBGrid 控 件 和Microsoft RemoteData 控 件。 从 Developer Studio 的Project 菜 单 中 选 择Add To Project, 再 从 子 菜 单 中 选 择 Componets And Controls。 选 择Registered ActiveX Controls, 然 后 选 择DBGrid Control 和Microsoft RemoteData Control。Developer Studio 将 产 生 控 件 类CMSDgridCtrl 和 CRdc, 并 把 相 应 的 文 件 添 加 到 项 目 中。 在IDD_DBGRID_FORM 模 板 中 加 入 控 件。 利 用 控 件 工 具 箱 加 入 RemoteData 和DBGrid 控 件。 ----对 控 件RemoteData 编 辑。 选 中 该 控 件, 单 击 鼠 标 右 键, 选 择Propertis, 出 现Microsoft RemoteData Control 2.0 Properties 对 话 框。 选 择General 标 签, 修 改 资 源ID 为IDC_RDCSTUDENT,Caption 为Student。 单 击Control 标 签,Datasource 选 择Student( 即 前 面ODBC 数 据 源 管 理 程 序 安 装 的 数 据 源),SQL 中 输 入 语 句Select * from student。 ----对 控 件DBGrid 编 辑。 选 择 该 控 件, 单 击 鼠 标 右 键, 选 择Propertis, 出 现DBGrid Control Properties 对 话 框。 选 择General 标 签, 修 改 资 源ID 为IDC_DBGSTUDENT,Caption 为Student 或 不 设 置。 单 击 All 标 签,DataMode 选 择0 -Bound,DataSource 选 择IDC_RDCSTUDENT。 编 译 并 测 试 程 序。DBGrid 在 程 序 中 正 确 地 工 作 了。----示 例 程 序1 可 能 过 于 简 单 了, 不 过 它 的 目 的 只 是 演 示DBGrid 控 件 在VC5.0 中 使 用 的 方 法。 下 面 我 们 对 它 略 作 改 进。 修 改 设 计 时DBGrid 控 件 的 列 数。DBGrid 控 件 在 设 计 时 的 列 数 默 认 为 两 列。 选 择DBGrid 控 件, 单 击 鼠 标 右 键, 选 择DBGrid Control Object, 再 选 择Edit。 看 上 去 没 有 什 么 变 化, 其 实 不 然, 再 选 择DBGrid 控 件, 单 击 鼠 标 右 键, 可 以 发 现 此 时 的 菜 单 不 同 了, 选 择Insert, 此 时DBGrid 控 件 的 列 由 原 来 默 认 的 两 列 变 成 了 三 列。 重 复 操 作, 直 到DBGrid 控 件 的 列 数 满 足 你 的 要 求 为 止。 修 改DBGrid 控 件 的 列 标 题。DBGrid 控 件 的 列 标 题 默 认 为 数 据 集 的 字 段 名, 可 以 改 为 我 们 想 要 的 列 标 题。 步 骤 如 下: 修 改DBGrid 控 件 的 列 标 题。 选 择 该 控 件, 单 击 鼠 标 右 键, 选 择Propertis, 出 现DBGrid Control Properties 对 话 框。 选 择Columns 标 签, 在Column 选 择Column0,Caption 中 输 入“ 编 号”,DataField 中 选 择StudentID, 在 其 他 项 中 选 择 或 输 入 你 认 为 需 要 的 信 息。 重 复 本 步 骤, 直 至 完 成 修 改 所 有 的 列 标 题 为 止。 关 闭DBGrid Control Properties 对 话 框, 可 以 看 到 修 改 的 列 标 题 已 经 在DBGrid 控 件 上 出 现 了。在 程 序 运 行 时 改 变DBGrid 控 件 的 尺 寸。 在 视 图 尺 寸 大 小 改 变 时,DBGrid 控 件 的 尺 寸 却 没 有 改 变, 需 要 添 加 消 息 处 理 函 数OnSize ()。 使 用ClassWizard 为 类CDBGridView 加 入 成 员 变 量。 在 ClassWizard 中 单 击Member Variables 标 签, 选 择IDC_DBGSTUDENT, 添 加 变 量 m_dbgstudent, 类 型 为Control。 使 用ClassWizard 映 射 视 图 类 的WM_SIZE 函 数。 编 辑 函 数 如 下:void CDBGridView::OnSize(UINT nType, int cx, int cy) { CFormView::OnSize(nType, cx, cy); CRect rect; GetClientRect(rect); ::SetWindowPos(m_dbgstudent,HWND_TOP,0,0,rect.right -rect.left,rect.bottom -rect.top,SWP_SHOWWINDOW);}----示 例 程 序1 演 示 了DBGrid 控 件 在 类 CFormView 的 派 生 类 中 的 使 用 方 法, 在 对 话 框 中 使 用DBGrid 控 件 的 方 法 与 此 完 全 相 同。 ----以 上 示 例 是DBGrid 控 件 最 简 单 地 使 用, 因 为 它 们 都 是 把 控 件 添 加 到 控 件 容 器 内, 然 后 再 设 定 其 属 性, 所 以RemoteData 和DBGrid 控 件 可 以 像Button、Edit 控 制 一 样, 用 鼠 标 点 几 下 就 可 以 了。 下 面 再 介 绍DBGrid 控 件 在 类Cview 或 其 派 生 类 等 非 控 件 容 器 中 的 使 用 方 法。 这 时 就 不 能 用 上 面 的 方 法 向 视 图 类 中 添 加 控 件 了, 也 就 不 能 在 设 计 时 设 定 它 们 的 属 性, 必 须 在 运 行 时 使 用DBGrid 和RemoteData 控 件 的Create() 函 数 创 建 对 象, 然 后 再 设 置 属 性。 请 看 示 例 程 序2。 二 示 例 程 序----按 如 下 步 骤 创 建: 运 行AppWizard 生 成 项 目DBGrid。 选 择Multiple Document,CDBGridView 的 基 类 为 CView 不 变, 其 他 仍 然 按 默 认 设 置 处 理。 在 项 目DBGrid 中 添 加DBGrid 控 件 和Microsoft RemoteData 控 件。 与 示 例 程 序1 相 同。 在CDBGridView 类 中 加 入 两 个 数 据 成 员。 一 个 是 类CRdc 变 量 m_rdcstudent, 另 一 个 是 类CMsDgridCtrl 变 量m_dbgstudent。 加 入 这 两 个 控 件 的 子 窗 口ID 常 数。 从Developer Studio 的View 菜 单 中 选 择Resource Sysbols 命 令, 然 后 加 入ID 符 号ID_RDCSTUDENT 和 ID_DBGSTUDENT。 用ClassWizard 映 射 视 图 的WM_CREATE 和WM_SIZE 函 数。 编 辑 DBGidView.cpp 中 的 消 息 处 理 函 数 如 下: int CDbgridView::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CView::OnCreate(lpCreateStruct) == -1) return -1; RECT r={0,0,100,30}; // create the RDC m_rdcstudent.Create(_T(“Student"), WS_CHILD,r,this,IDC_RDCSTUDENT); m_rdcstudent.SetDataSourceName(_T(“Student")); m_rdcstudent.SetSql (_T(“Select * from student,section")); m_rdcstudent.SetUserName(_T(“admin")); m_rdcstudent.SetPassword(_T(“")); m_rdcstudent.SetCursorDriver(2); // create the DBGrid control & connect it to IDC_RDCSTUDENTm_dbgstudent.Create(_T(“"),WS_VISIBLE|WS_CHILD,r,this,IDC_DBGSTUDENT);LPUNKNOWN pCursor=m_rdcstudent.GetDSCCursor();ASSERT(pCursor!=NULL);m_dbgstudent.SetDataSource(pCursor); //bind the gridm_dbgstudent.BindProperty(0x9, &m_rdcstudent);return 0;}void CDbgridView::OnSize(UINT nType, int cx, int cy) { CView::OnSize(nType, cx, cy); // TODO: Add your message handler code here CRect rect; GetClientRect(rect); ::SetWindowPos(m_dbgstudent,HWND_TOP,0,0,rect.right -rect.left,rect.bottom -rect.top,SWP_SHOWWINDOW);}编 译 并 测 试 程 序。 屏 幕 的 显 示 结 果 与 下 图 类 似。 ----以 上 所 述 只 是 谈 及DBGrid 控 件 在 绑 定 方 式 下 使 用 方 法, 那 么 如 何 在 在 非 绑 定 方 式 下 使 用 呢 ? 还 请 朋 友 们 多 指 教。 100分:char *inArr, unsigned int DanWh;这个写法中 DanWh到底是被定义成什么类型了? 正则表达式能解决我的这个问题吗? 系统进入待机状态(Standby),应用程序会有什么反应? 问题太简单,所以只给了50分,谅解 任务管理器的应用程序属性页如何得到的 MSXML的Group组引用索引下标起始的问题 关于对话框中加入属性页的问题 怎样在vc中调用磁盘检查程序(win2000里面)!!!高分!!!急用!!!! 哪位有有关mpeg文件操作的源码,能否给发一份? 我以后的发展方向??? 学vc真有用吗? 请问在数学表达式中求e的x次方用什么函数啊???
同病相怜!!
我有一个source
!!
hai!
good morning!
I am developing a program with dbgrid,but I meet the same question as gentlemen.
Can you give me a copy of your source program ?
thank you!
[email protected]
运 行AppWizard 生 成 项 目DBGrid。 除 选 择Single Document 和 CDBGridView 的 基 类 改 为FormView 以 外, 其 他 均 按 默 认 设 置 处 理。
在 项 目DBGrid 中 添 加DBGrid 控 件 和Microsoft RemoteData 控 件。 从 Developer Studio 的Project 菜 单 中 选 择Add To Project, 再 从 子 菜 单 中 选 择 Componets And Controls。 选 择Registered ActiveX Controls, 然 后 选 择DBGrid Control 和Microsoft RemoteData Control。Developer Studio 将 产 生 控 件 类CMSDgridCtrl 和 CRdc, 并 把 相 应 的 文 件 添 加 到 项 目 中。
在IDD_DBGRID_FORM 模 板 中 加 入 控 件。 利 用 控 件 工 具 箱 加 入 RemoteData 和DBGrid 控 件。
----对 控 件RemoteData 编 辑。 选 中 该 控 件, 单 击 鼠 标 右 键, 选 择Propertis, 出 现Microsoft RemoteData Control 2.0 Properties 对 话 框。 选 择General 标 签, 修 改 资 源ID 为IDC_RDCSTUDENT,Caption 为Student。 单 击Control 标 签,Datasource 选 择Student( 即 前 面ODBC 数 据 源 管 理 程 序 安 装 的 数 据 源),SQL 中 输 入 语 句Select * from student。
----对 控 件DBGrid 编 辑。 选 择 该 控 件, 单 击 鼠 标 右 键, 选 择Propertis, 出 现DBGrid Control Properties 对 话 框。 选 择General 标 签, 修 改 资 源ID 为IDC_DBGSTUDENT,Caption 为Student 或 不 设 置。 单 击 All 标 签,DataMode 选 择0 -Bound,DataSource 选 择IDC_RDCSTUDENT。
编 译 并 测 试 程 序。DBGrid 在 程 序 中 正 确 地 工 作 了。
----示 例 程 序1 可 能 过 于 简 单 了, 不 过 它 的 目 的 只 是 演 示DBGrid 控 件 在VC5.0 中 使 用 的 方 法。 下 面 我 们 对 它 略 作 改 进。 修 改 设 计 时DBGrid 控 件 的 列 数。DBGrid 控 件 在 设 计 时 的 列 数 默 认 为 两 列。 选 择DBGrid 控 件, 单 击 鼠 标 右 键, 选 择DBGrid Control Object, 再 选 择Edit。 看 上 去 没 有 什 么 变 化, 其 实 不 然, 再 选 择DBGrid 控 件, 单 击 鼠 标 右 键, 可 以 发 现 此 时 的 菜 单 不 同 了, 选 择Insert, 此 时DBGrid 控 件 的 列 由 原 来 默 认 的 两 列 变 成 了 三 列。 重 复 操 作, 直 到DBGrid 控 件 的 列 数 满 足 你 的 要 求 为 止。
修 改DBGrid 控 件 的 列 标 题。DBGrid 控 件 的 列 标 题 默 认 为 数 据 集 的 字 段 名, 可 以 改 为 我 们 想 要 的 列 标 题。 步 骤 如 下:
修 改DBGrid 控 件 的 列 标 题。 选 择 该 控 件, 单 击 鼠 标 右 键, 选 择Propertis, 出 现DBGrid Control Properties 对 话 框。 选 择Columns 标 签, 在Column 选 择Column0,Caption 中 输 入“ 编 号”,DataField 中 选 择StudentID, 在 其 他 项 中 选 择 或 输 入 你 认 为 需 要 的 信 息。 重 复 本 步 骤, 直 至 完 成 修 改 所 有 的 列 标 题 为 止。
关 闭DBGrid Control Properties 对 话 框, 可 以 看 到 修 改 的 列 标 题 已 经 在DBGrid 控 件 上 出 现 了。
在 程 序 运 行 时 改 变DBGrid 控 件 的 尺 寸。 在 视 图 尺 寸 大 小 改 变 时,DBGrid 控 件 的 尺 寸 却 没 有 改 变, 需 要 添 加 消 息 处 理 函 数OnSize ()。
使 用ClassWizard 为 类CDBGridView 加 入 成 员 变 量。 在 ClassWizard 中 单 击Member Variables 标 签, 选 择IDC_DBGSTUDENT, 添 加 变 量 m_dbgstudent, 类 型 为Control。
使 用ClassWizard 映 射 视 图 类 的WM_SIZE 函 数。 编 辑 函 数 如 下:
void CDBGridView::OnSize(UINT nType, int cx, int cy)
{
CFormView::OnSize(nType, cx, cy);
CRect rect;
GetClientRect(rect);
::SetWindowPos(m_dbgstudent,HWND_TOP,0,0,rect.right
-rect.left,rect.bottom -rect.top,SWP_SHOWWINDOW);
}----示 例 程 序1 演 示 了DBGrid 控 件 在 类 CFormView 的 派 生 类 中 的 使 用 方 法, 在 对 话 框 中 使 用DBGrid 控 件 的 方 法 与 此 完 全 相 同。 ----以 上 示 例 是DBGrid 控 件 最 简 单 地 使 用, 因 为 它 们 都 是 把 控 件 添 加 到 控 件 容 器 内, 然 后 再 设 定 其 属 性, 所 以RemoteData 和DBGrid 控 件 可 以 像Button、Edit 控 制 一 样, 用 鼠 标 点 几 下 就 可 以 了。 下 面 再 介 绍DBGrid 控 件 在 类Cview 或 其 派 生 类 等 非 控 件 容 器 中 的 使 用 方 法。 这 时 就 不 能 用 上 面 的 方 法 向 视 图 类 中 添 加 控 件 了, 也 就 不 能 在 设 计 时 设 定 它 们 的 属 性, 必 须 在 运 行 时 使 用DBGrid 和RemoteData 控 件 的Create() 函 数 创 建 对 象, 然 后 再 设 置 属 性。 请 看 示 例 程 序2。 二 示 例 程 序----按 如 下 步 骤 创 建:
运 行AppWizard 生 成 项 目DBGrid。 选 择Multiple Document,CDBGridView 的 基 类 为 CView 不 变, 其 他 仍 然 按 默 认 设 置 处 理。
在 项 目DBGrid 中 添 加DBGrid 控 件 和Microsoft RemoteData 控 件。 与 示 例 程 序1 相 同。
在CDBGridView 类 中 加 入 两 个 数 据 成 员。 一 个 是 类CRdc 变 量 m_rdcstudent, 另 一 个 是 类CMsDgridCtrl 变 量m_dbgstudent。
加 入 这 两 个 控 件 的 子 窗 口ID 常 数。 从Developer Studio 的View 菜 单 中 选 择Resource Sysbols 命 令, 然 后 加 入ID 符 号ID_RDCSTUDENT 和 ID_DBGSTUDENT。
用ClassWizard 映 射 视 图 的WM_CREATE 和WM_SIZE 函 数。 编 辑 DBGidView.cpp 中 的 消 息 处 理 函 数 如 下:
int CDbgridView::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CView::OnCreate(lpCreateStruct) == -1)
return -1;
RECT r={0,0,100,30};
// create the RDC
m_rdcstudent.Create(_T(“Student"),
WS_CHILD,r,this,IDC_RDCSTUDENT);
m_rdcstudent.SetDataSourceName(_T(“Student"));
m_rdcstudent.SetSql
(_T(“Select * from student,section"));
m_rdcstudent.SetUserName(_T(“admin"));
m_rdcstudent.SetPassword(_T(“"));
m_rdcstudent.SetCursorDriver(2); // create the DBGrid control
& connect it to IDC_RDCSTUDENT
m_dbgstudent.Create(_T(“"),WS_VISIBLE|WS_CHILD,r,
this,IDC_DBGSTUDENT);
LPUNKNOWN pCursor=m_rdcstudent.GetDSCCursor();
ASSERT(pCursor!=NULL);
m_dbgstudent.SetDataSource(pCursor); //bind the grid
m_dbgstudent.BindProperty(0x9, &m_rdcstudent);return 0;
}void CDbgridView::OnSize(UINT nType, int cx, int cy)
{
CView::OnSize(nType, cx, cy);
// TODO: Add your message handler code here
CRect rect;
GetClientRect(rect);
::SetWindowPos(m_dbgstudent,HWND_TOP,0,0,rect.right
-rect.left,rect.bottom -rect.top,SWP_SHOWWINDOW);
}编 译 并 测 试 程 序。 屏 幕 的 显 示 结 果 与 下 图 类 似。
----以 上 所 述 只 是 谈 及DBGrid 控 件 在 绑 定 方 式 下 使 用 方 法, 那 么 如 何 在 在 非 绑 定 方 式 下 使 用 呢 ? 还 请 朋 友 们 多 指 教。