clistview添加数据库
⑴ 如何在CListView中添加数据
绑定数据库数据到listview中,有两种方式
⑵ CScroll 类
是CScrollView类吧?这个是默认带滚动的,ADO只是一种连接数据库的方案,跟View 是什么类型的没有关系,当然也可以选别的类的,比如你选CListView作为基类,可以用GetListCtrl()得到ListView的指针然后利用ADO技术连接到数据库,从数据库中取得数据,然后一行一行的插入到列表中。
此外也可以选CEditView,这样View 就成了一个类似于记事本的东东,可以把用ADO技术读到的数据库中表的内容显示到屏幕上。
关于ADO,可以看看COM的相关资料。
但如果刚开始学VC,还是看看孙鑫的VC视频,先了解一下MFC框架的机制比较好。
⑶ MFC单文档应用CListView视图类问题
在CListView视图中响应菜单消息(即这里有一个菜单命令的监听),然后是dialog.DoMole,这里返回的时候就可以直接设置CListView中相关的内容了。
⑷ CListView的更新问题
在自定义的添加按钮函数的最后添加如下代码
CMainFrame * p=(CMainFrame*)AfxGetApp()->m_pMainWnd;
目的是得到指向主框架的指针。
接着添加代码:p->函数名; 函数名为在CMainFrame类中自定义的一个函数名,比如OnUpdate() ,那么刚才的那句代码就可以是p->OnUpdate();
而后在OnUpdate()函数中添加如下代码:
CMyView * p=(CMyView *)m_wndSplitter.GetPane(0,0);//得到指向基类为CListView类的CMyView的指针, m_wndSplitter.GetPane(0,0)返回的是静态分割后左边的窗体指针,就是列表窗体的指针
p->OnDisplay(); //此函数为在CMyView类中自定义的列表更新函数。
这样就实现了通过在右边的窗体点击自定义的添加按钮更新了左边的窗体
⑸ VC++6.0中,如何向文档窗口添加一个ClistView控件,并显示出来
文档窗口的话需要将其基类设为CListView,然后用定义一个列表控件类的引用,CListCtrl& m_ListCtrl = GetListView(),(一定要是引用),之后通过它的成员函数InsertColumn(),InsertItem()分别添加列表头和列表项即可。
⑹ C++ODBC MFC编程数据源的显示中,绑定了数据表,却只能显示第一列的数据。怎么才能让它全部显示出来。
应该是基于CRecordView才行,这样系统会自动生成一个相应的***Set类,里面有你数据源中的所有字段和变量,同时View类里会有个自动生成的m_pSet指针,是Set类里的,这个指针直接可以操作数据库。比如我要把数据库的数据全部显示到一个报表,就是这样:
m_pSet->MoveFirst();
m_list.DeleteAllItems();//m_list是报表关联的Control型变量
do
{
CString s,s1,s2;
s.Format("%d",i+1);
s1.Format("%ld",m_pSet->m_stuId);
s2.Format("%ld",m_pSet->m_stuFamilyNum);//这4条是变量类型的转换
m_list.InsertItem(i,s);//i是一个全局变量,初始值为0,用来计数的
m_list.SetItemText(i,1,s1);
m_list.SetItemText(i,2,m_pSet->m_stuName);
m_list.SetItemText(i,3,m_pSet->m_stuSex);
m_list.SetItemText(i,4,m_pSet->m_stuProfession);
m_list.SetItemText(i,5,m_pSet->m_stuClass);
m_list.SetItemText(i,6,m_pSet->m_stuHobby);
m_list.SetItemText(i,7,m_pSet->m_stuAddress);
m_list.SetItemText(i,8,s2);//向报表插入数据库的数据,也就是读取数据库
i++;// i 递增
m_pSet->MoveNext();//指针后移
} while(!m_pSet->IsEOF());
m_pSet->Close();
⑺ list控件为什么无法显示数据库中内容,该如何处理
可以试试下面的代码:
创建单文档应用程序,在选择窗口视图类型时,选择CListView视图。
在视图类的初始化消息函数中添加如下显示控件的代码:
void CTestlistView::OnInitialUpdate()
{
CListView::OnInitialUpdate();
CDC* dc = GetDC();
TEXTMETRIC tm;
dc->GetTextMetrics(&tm);
GetListCtrl().ModifyStyle(0,LVS_REPORT|LVS_SHOWSELALWAYS|LVS_SORTASCENDING);
GetListCtrl().SendMessage(LVM_SETEXTENDEDLISTVIEWSTYLE,0,
LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT|LVS_EX_CHECKBOXES|LVS_EX_TRACKSELECT);
GetListCtrl().InsertColumn(0,"Name",LVCFMT_LEFT,30*tm.tmAveCharWidth,0);
GetListCtrl().InsertColumn(1,"Comment",LVCFMT_LEFT,70*tm.tmAveCharWidth,1);
// TODO: You may populate your ListView with items by directly accessing
// its list control through a call to GetListCtrl().
}
⑻ 嗷嗷急!关于VC中如何通过ADO改变数据库中的数据
这里记录集rs已经打开,rs为对话框的数据记录;
rs.Edit();//数据修改
rs.m_1=..;//待修改的数据;
rs.m_2=..;//待修改的数据;
rs.m_3=..;//待修改的数据;
rs.Update();//更新
rs.Close();
⑼ MFC ListView
CListView有个GetListCtrl()
-------------------------
不好意思, 看错你的题目了.
如果你是用了CListView, 可以用GetListCtrl()获取ListCtrl, 对话框程序, 从"工具"里加一个ListControl就是了. 那个就是你要的.
⑽ 请问在MFC中 怎样为单文档工程中的关联着数据库的框(运行后是图中这种的)添加背景图片呀求大神~
可以在创建向导中 把View的基类变成CListView
GetListCtrl()获取到list控件
用代码设置成 report风格
添加列就可以了
SetBkImage可以设置控件的背景图片。
看看ClistCtrl类的成员函数吧