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::NewButtonItem(int nIcon) { CXTPReportRecordItem *pItem = new CXTPReportRecordItem(); CXTPReportRecordItemControl* pButton = pItem->GetItemControls()->AddControl(xtpItemControlTypeButton); pButton->SetAlignment(xtpItemControlLeft); pButton->SetIconIndex(PBS_NORMAL, nIcon); pButton->SetIconIndex(PBS_PRESSED,nIcon); pButton->SetSize(CSize(OpColWidth, 0)); pItem->SetEditable(TRUE); return pItem; }
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; }