void CMedic::RefreshReport( CMedicSet *pMedicSet ) { CMainFrame *p = (CMainFrame *)AfxGetMainWnd(); CXTPReportControl *pReport = p->m_wndReportCtrl; CXTPReportRecords *pRecords = pReport->GetRecords(); pRecords->RemoveAll(); CXTPReportRecord *pRecord; CXTPReportRecordItem *pItem; CString strPrice; while(!pMedicSet->IsEOF()) { pRecord = new CXTPReportRecord(); pRecord->AddItem(new CXTPReportRecordItemText(pMedicSet->m_MedicID)); pRecord->AddItem(new CXTPReportRecordItemText(pMedicSet->m_MedicName)); pRecord->AddItem(new CXTPReportRecordItemText(pMedicSet->m_MedicType)); CTime ProduceData = pMedicSet->m_ProduceDate; pRecord->AddItem(new CXTPReportRecordItemText(ProduceData.Format(_T("%Y-%m-%d")))); if (0 == pMedicSet->m_MedicNumber) { pItem = pRecord->AddItem(new CXTPReportRecordItemNumber(pMedicSet->m_MedicNumber)); pItem->SetBackgroundColor(RGB(255,0,0)); } else pRecord->AddItem(new CXTPReportRecordItemNumber(pMedicSet->m_MedicNumber)); strPrice.Format("%.2f",pMedicSet->m_MedicPrice); pRecord->AddItem(new CXTPReportRecordItemText(strPrice)); pRecord->AddItem(new CXTPReportRecordItemNumber(pMedicSet->m_GuarantPeriod)); pRecord->AddItem(new CXTPReportRecordItemText(pMedicSet->m_ProduceCompany)); pReport->AddRecord(pRecord); pMedicSet->MoveNext(); } pReport->Populate(); }
void CSimpleReport::ColSetColor(int r, int c, COLORREF fore, COLORREF back) { CXTPReportRecord* pRec = GetRecords()->GetAt(r); if (!pRec) return; CXTPReportRecordItem* p = pRec->GetItem(c); if (p) { p->SetBackgroundColor(back); p->SetTextColor(fore); } }