掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
リストビューで行を挿入するには? (ID:58457)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
Blueさんこんな感じです void CTabTestView::OnUpdate(CView* pSender, LPARAM lHint, CObject* pHint) { CTabTestDoc *pDoc = GetDocument(); ASSERT( pDoc != NULL); m_lv.DeleteAllItems(); int nTotal = 0; int nTotal2 = 0; int nTotal3 = 0; int nPage = GetTabCtrl().GetCurSel(); const CASHLIST& cl = pDoc->GetCashList(); CString cs; POSITION pos = cl.GetHeadPosition(); int nIdx = 0; while( pos != NULL){ POSITION posCur = pos; const CASHITEM& ci = cl.GetNext( pos); int nCat = ci.nCategory; if( nPage == 0 || nCat == nPage){ cs.Format( _T("%u\t"), ci.uDate);//uDate m_lv.InsertItem( nIdx, cs); m_lv.SetItemText( nIdx, 1, ci.EditNumber1); m_lv.SetItemText( nIdx, 2, ci.csName); switch( nCat){ case 1: cs = _T("会議費"); break; case 2: cs= _T("事業費"); break; case 3: cs = _T("元朝祭費"); break; case 4: cs = _T("負担金"); break; case 5: cs = _T("区立替金"); break; case 6: cs =_T("備品費"); break; case 7: cs = _T("水道光熱費"); break; case 8: cs = _T("助成費"); break; case 9: cs = _T("慶弔費"); break; case 10: cs = _T("徴収費"); break; case 11: cs =_T("事務用消耗品費"); break; case 12: cs =_T("役員手当"); break; case 13: cs =_T("引継ぎ費"); break; case 14: cs =_T("雑費"); break; case 15: cs =_T("賃借料"); break; case 16: cs =_T("繰出し金"); break; case 17: cs =_T("入金"); break; case 18: cs =_T("繰越金"); break; case 19: cs =_T("区費"); break; case 20: cs =_T("志納金"); break; case 21: cs =_T("地代"); break; case 22: cs =_T("雑収入"); break; case 23: cs =_T(" "); break; } m_lv.SetItemText( nIdx, 3, cs); if( nCat == 1){ nTotal += ci.nPrice; nTotal2 += ci.Su; nTotal3 += ci.Su2; } else{ nTotal += ci.nPrice;//- nTotal2 += ci.Su;//- nTotal3 += ci.Su2; } cs.Format( _T("%d"), ci.nPrice); m_lv.SetItemText( nIdx, 4, cs); cs.Format( _T("%d"), ci.Su); m_lv.SetItemText( nIdx, 5, cs); cs.Format( _T("%d"), ci.Su2); m_lv.SetItemText( nIdx, 6, cs); m_lv.SetItemData( nIdx, (DWORD)posCur); nIdx++; } } // 空行の挿入 m_lv.InsertItem( nIdx, _T("") ); m_lv.SetItemData( nIdx, (DWORD)NULL); // 合計欄の挿入 nIdx++; m_lv.InsertItem( nIdx, _T("合計") ); ///////////////////////////////////////////////////////////////////////////////// cs.Format( _T("%d"), nTotal); m_lv.SetItemText( nIdx, 4, cs); cs.Format( _T("%d"), nTotal2); m_lv.SetItemText( nIdx, 5, cs); nTotal3=nTotal-nTotal2; cs.Format( _T("%d"), nTotal3); m_lv.SetItemText( nIdx, 6, cs); m_lv.SetItemData( nIdx, (DWORD)NULL); }
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.