gridctrl怎样显示记录集数据?

zzxap 2011-04-21 11:55:07

m_pGridCtrl = new CGridCtrl;
CRect rect(0,0,550,400);
//GetClientRect(rect);
m_pGridCtrl->Create(rect, this, 100);

// fill it up with stuff
m_pGridCtrl->SetEditable(TRUE);
m_pGridCtrl->EnableDragAndDrop(TRUE);

try {
m_pGridCtrl->SetRowCount(20);
m_pGridCtrl->SetColumnCount(5);
m_pGridCtrl->SetFixedRowCount(1);
m_pGridCtrl->SetFixedColumnCount(1);
}
catch (CMemoryException* e)
{
e->ReportError();
e->Delete();
return;
}
CString strConnection = _T("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=data/user.mdb");
if(m_pDb.Open(strConnection))
{
m_pRs = CADORecordset(&m_pDb);

if(m_pRs.Open("MyUser", CADORecordset::openTable))
{
// m_pGridCtrl
//这里怎么将记录集绑定到m_pGridCtrl
//gridctrl怎样显示记录集数据?
m_pRs.GetRecordset();

}
}
else
{
AfxMessageBox(m_pDb.GetLastErrorString());
DWORD dwError = m_pDb.GetLastError();
return FALSE;
}

...全文
202 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
Meteor_Code 2011-04-21
  • 打赏
  • 举报
回复
http://blog.csdn.net/Meteor_Code/archive/2010/12/30/6106942.aspx
CGridCtrl简单说明
King_hhuang 2011-04-21
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 zzxap 的回复:]
引用 10 楼 king_hhuang 的回复:

要想直接绑定数据源就用DataGrid
VC6中有的,不过你要自己手动添加


vc6 不支持此接口
[/Quote]
你不是用VC/MFC开发吗?怎么会不支持呢
或者你用CListCtrl也可以,不过也要一行一行添加数据
zzxap 2011-04-21
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 king_hhuang 的回复:]

要想直接绑定数据源就用DataGrid
VC6中有的,不过你要自己手动添加
[/Quote]

vc6 不支持此接口
zzxap 2011-04-21
  • 打赏
  • 举报
回复
m_pRs.MoveFirst();
while (!m_pRs.IsEOF())
{
for (int j=0;j<3;j++)
{
MessageBox(m_pRs.GetFieldValue("username", j));//这里怎样把记录集中的usernasme显示出来?

}
m_pRs.MoveNext();
}
King_hhuang 2011-04-21
  • 打赏
  • 举报
回复
要想直接绑定数据源就用DataGrid
VC6中有的,不过你要自己手动添加
zzxap 2011-04-21
  • 打赏
  • 举报
回复
难道真的要一个个遍历m_pRecordset将数据显示在gridctrl的cell上?

难道gridctrl没提供更方便的方法吗?我是没找到这个方法
zzxap 2011-04-21
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 king_hhuang 的回复:]

http://www.hackchina.com/cont/106068
[/Quote]
这个例子就是将一些for循环的数字显示在gridctrl 没有跟recordset关联起来
King_hhuang 2011-04-21
  • 打赏
  • 举报
回复
zzxap 2011-04-21
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 king_hhuang 的回复:]

用DataGrid很简单
http://blog.csdn.net/BlueMap/archive/2010/07/06/5716313.aspx
[/Quote]

vc6 不支持此接口
zzxap 2011-04-21
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 king_hhuang 的回复:]

m_dataGrid.SetRefDataSource(NULL);

m_dataGrid.SetRefDataSource((LPUNKNOWN)m_pRecordSet);

m_dataGrid.Refresh();
[/Quote]
这是gridctrl 不是datagrid
King_hhuang 2011-04-21
  • 打赏
  • 举报
回复
m_dataGrid.SetRefDataSource(NULL);

m_dataGrid.SetRefDataSource((LPUNKNOWN)m_pRecordSet);

m_dataGrid.Refresh();
zzxap 2011-04-21
  • 打赏
  • 举报
回复
我已经取得记录集,怎样将记录集在grid显示出来。
如果显示数据都做得这么麻烦,那这个控件也算是垃圾的了
哪些说明文档和demo我看了N编,硬是不知道怎样把数据显示出来
King_hhuang 2011-04-21
  • 打赏
  • 举报
回复

64,691

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧