CXTPReportRecord* CReportCtrl::TransferAddRecord(void) { ASSERT (m_pAddOpRecord != NULL); CXTPReportRecord *pRec = new CXTPReportRecord(); for (int i=0; i<m_nColCount; ++i) { const ColInfo &col = m_cols[i]; if (col.fmt != FmtIdOnly) { CXTPReportRecordItem *pItem = new CXTPReportRecordItem(); if (!col.check) { pItem->SetCaption(m_pAddOpRecord->GetItem(i)->GetCaption(NULL)); } else { pItem->SetEditable(col.editable); pItem->HasCheckbox(col.check); pItem->SetChecked(m_pAddOpRecord->GetItem(i)->IsChecked()); } pRec->AddItem(pItem); } } PutRecordAux(pRec); GetRecords()->InsertAt(m_pAddOpRecord->GetIndex(),pRec); ClearAddRecord(); Populate(); return pRec; }
CXTPReportRecordItem* CReportCtrl::RecordItemFromCol(const ColInfo &c,const _variant_t &v) { CXTPReportRecordItem *pItem = new CXTPReportRecordItem(); pItem->SetEditable(c.editable); if (!c.check) { pItem->SetCaption(CString(v)); } else { pItem->HasCheckbox(c.check); pItem->SetChecked((bool)v); } return pItem; }