如何在MDI中显示数据库中查询的结果? up,详细一点行吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 最简单,最快捷的方法是把mdi程序的视图从CListView派生,在其中插入从数据库中读出的数据(截自我的一个程序):1。设置视图风格,使其有网格:void CDinnerView::OnInitialUpdate(){ CListView::OnInitialUpdate(); CListCtrl &ctl=GetListCtrl(); ctl.ModifyStyle(0,LVS_REPORT|LVS_SINGLESEL); ctl.SetExtendedStyle(LVS_EX_FLATSB|LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES); 。。}2.在视图区中显示数据://在视图中显示就餐日志void CDinnerView::DisplayDinnerLog(){ EraseList(); //擦去上次的输出 GetListCtrl().InsertColumn(0," ",LVCFMT_LEFT,20); GetListCtrl().InsertColumn(1,"就餐日期 ",LVCFMT_LEFT,200); GetListCtrl().InsertColumn(2,"就餐者姓名 ",LVCFMT_LEFT,200); GetListCtrl().InsertColumn(3,"餐后权值 ",LVCFMT_LEFT,200); _variant_t vDate,vName,vWeight; CMainFrame *pmain = (CMainFrame*) AfxGetMainWnd(); try{ pmain->m_pRecordset.CreateInstance("ADODB.Recordset"); pmain->m_pRecordset->Open("SELECT * FROM DinnerLog",_variant_t((IDispatch*)pmain->m_pConnection,true),adOpenStatic,adLockOptimistic,adCmdText); pmain->m_pRecordset->MoveFirst(); int nRow = 0; CString strWeight; while ( !pmain->m_pRecordset->adoEOF ) { GetListCtrl().InsertItem(nRow,"※"); vDate = pmain->m_pRecordset->GetCollect("Date"); GetListCtrl().SetItemText(nRow,1,(LPCTSTR)(_bstr_t)vDate); vName = pmain->m_pRecordset->GetCollect("Name"); GetListCtrl().SetItemText(nRow,2,(LPCTSTR)(_bstr_t)vName); vWeight = pmain->m_pRecordset->GetCollect("Weight"); strWeight.Format("%6.2f",vWeight.dblVal); GetListCtrl().SetItemText(nRow,3,strWeight); pmain->m_pRecordset->MoveNext(); nRow++; } pmain->m_pRecordset->Close(); } catch(_com_error&e) { MessageBox(e.Description()); } UpdateWindow();}3。//删除视图中的所有信息,包括表头void CDinnerView::EraseList(){ CListCtrl& ctlList = GetListCtrl(); ctlList.DeleteAllItems(); while(ctlList.DeleteColumn(0)); UpdateWindow();} 创建一个单文档mfc,什么都去了,就留客户区,可是客户区有凹陷立体边框。 MDI程序如何让子框架中的对话框视图最大化显示 help!.exe文件 问题 Serialize问题,高手帮忙啊 请教一鼠标移动问题,在线等 求解: 彩色的属性页.(很实用的!) 有谁有<windows95程序设计>pezold的程序范例? 第一次提问,真的就没人回答吗? 谁有STL的教程,得书后就给分!!!!!!!!! 在使用memoy DC之后,为何颜色是黑白色? 怎么做虚拟打印机如:fineprint DWORD转CString 怎么转?
1。设置视图风格,使其有网格:
void CDinnerView::OnInitialUpdate()
{
CListView::OnInitialUpdate();
CListCtrl &ctl=GetListCtrl();
ctl.ModifyStyle(0,LVS_REPORT|LVS_SINGLESEL);
ctl.SetExtendedStyle(LVS_EX_FLATSB|LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
。。
}2.在视图区中显示数据:
//在视图中显示就餐日志
void CDinnerView::DisplayDinnerLog()
{
EraseList(); //擦去上次的输出 GetListCtrl().InsertColumn(0," ",LVCFMT_LEFT,20);
GetListCtrl().InsertColumn(1,"就餐日期 ",LVCFMT_LEFT,200);
GetListCtrl().InsertColumn(2,"就餐者姓名 ",LVCFMT_LEFT,200);
GetListCtrl().InsertColumn(3,"餐后权值 ",LVCFMT_LEFT,200); _variant_t vDate,vName,vWeight; CMainFrame *pmain = (CMainFrame*) AfxGetMainWnd(); try{
pmain->m_pRecordset.CreateInstance("ADODB.Recordset"); pmain->m_pRecordset->Open("SELECT * FROM DinnerLog",_variant_t((IDispatch*)pmain->m_pConnection,true),adOpenStatic,adLockOptimistic,adCmdText);
pmain->m_pRecordset->MoveFirst();
int nRow = 0;
CString strWeight;
while ( !pmain->m_pRecordset->adoEOF )
{
GetListCtrl().InsertItem(nRow,"※"); vDate = pmain->m_pRecordset->GetCollect("Date");
GetListCtrl().SetItemText(nRow,1,(LPCTSTR)(_bstr_t)vDate); vName = pmain->m_pRecordset->GetCollect("Name");
GetListCtrl().SetItemText(nRow,2,(LPCTSTR)(_bstr_t)vName); vWeight = pmain->m_pRecordset->GetCollect("Weight");
strWeight.Format("%6.2f",vWeight.dblVal);
GetListCtrl().SetItemText(nRow,3,strWeight); pmain->m_pRecordset->MoveNext();
nRow++;
} pmain->m_pRecordset->Close(); }
catch(_com_error&e)
{
MessageBox(e.Description());
}
UpdateWindow();
}3。
//删除视图中的所有信息,包括表头
void CDinnerView::EraseList()
{
CListCtrl& ctlList = GetListCtrl();
ctlList.DeleteAllItems();
while(ctlList.DeleteColumn(0));
UpdateWindow();
}