一個重繪按鈕
void main::OnBnClickedButton1()
{
m_list.DeleteAllItems();
m_list.SetExtendedStyle(m_list.GetExtendedStyle()|LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
//初始化
CString field[] = {TEXT("序號"),TEXT("食品名稱"),TEXT("食品單價"),TEXT("剩余數量")};
for(int i=0; i<sizeof(field)/sizeof(field[0]);++i)
{
m_list.InsertColumn(i, field[i], LVCFMT_CENTER, 100);
}
Cinfo file;
file.ReadDocline(); //讀取資訊
int i=0;
CString str;
for(list<msg>::iterator it = file.ls.begin(); it != file.ls.end(); it++)
{
str.Format(TEXT("%d"),it->id);
m_list.InsertItem(i,str);//初始化
int column = 1;
m_list.SetItemText(i, column++, (CString)it->name.c_str());
str.Format(TEXT("%d"),it->price);
m_list.SetItemText(i, column++, str);
str.Format(TEXT("%d"),it->num);
m_list.SetItemText(i, column++, str);
m_list.SetItemData(i,i);//用于存盤排序關鍵字
i++;
}
}
就在第一行,先清楚再添加資料,不知道為什么沒有效果
uj5u.com熱心網友回復:
是不是之前插入的資料還在uj5u.com熱心網友回復:
參考微軟daoview例子uj5u.com熱心網友回復:
CListCtrl::DeleteAllItemsBOOL DeleteAllItems( );
Return Value
Nonzero if successful; otherwise zero.
Remarks
Call this function to delete all items from the list view control.
BOOL ret=m_list.DeleteAllItems();
if(!ret) AfxMessageBox("DeleteAllItems Failed!");
uj5u.com熱心網友回復:
DeleteAllItems 只是洗掉資料項, 標題欄的話 通過 CHeaderCtrl進行
CHeaderCtrl *pHeadCtrl = mListCtrl.GetHeaderCtrl();
while(pHeadCtrl && pHeadCtrl->GetItemCount() > 0)
{
pHeadCtrl->DeleteItem(0);
}
uj5u.com熱心網友回復:
初始化時候設定表頭,列寬及表格控制元件屬性按下button再填充資料,CListCtrl::DeleteAllItems() 不能洗掉表頭的
uj5u.com熱心網友回復:
修改表頭可以還可以用CListCtrl::SetColumn轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/59520.html
標籤:基礎類
上一篇:MFC程式變數的求教。
