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類的成員函數吧