2015-06-08 4 views
0

Недавно я хочу экспортировать данные с помощью TscExcelExport. Если я использую TVirtualTable с использованием компонента Design, он отлично работает.Создать TVirtualTable через код только без компонента drop

EmpVT.First; 
EmpVT.Filtered := False; 
while not EmpVT.Eof do 
    begin 
    //Salary Virtual Table 
    VirtualTableBankTransferListExport.Append; 
    VirtualTableBankTransferListExport.FieldByName('EMPID').AsInteger := EmpVT.FieldByName('EMPID').AsInteger; 
    VirtualTableBankTransferListExport.FieldByName('EMPBANKGROUPNO').AsInteger := EmpVT.FieldByName('BANKGROUPNO').AsInteger; 
    VirtualTableBankTransferListExport.FieldByName('EMPTRANSBANKACCNAME').AsString := EmpVT.FieldByName('EMPBANKACCNAME').AsString; 
    VirtualTableBankTransferListExport.FieldByName('EMPTRANSBANKACCNO').AsString := EmpVT.FieldByName('EMPBANKACCNO').AsString; 
    VirtualTableBankTransferListExport.FieldByName('BANKACCNO').AsString := EmpVT.FieldByName('BANKACCNO').AsString; 
    VirtualTableBankTransferListExport.FieldByName('PERIOD').AsString := PaySlipPeriod; 
    VirtualTableBankTransferListExport.FieldByName('BANKNAME').AsString := EmpVT.FieldByName('BANKNAME').AsString; 
     VirtualTableBankTransferList.FieldByName('TRANSFERAMOUNT').AsInteger := 0;//Format('%s%s%.*d', [EmpVT.FieldByName('REGIONCODE').AsString,EmpVT.FieldByName('EMPCODE').AsString,4,EmpVT.FieldByName('EMPCODE').AsInteger]); //EmpVT.FieldByName('EMPCODE').AsString; 
    VirtualTableBankTransferListExport.FieldByName('BANKID').AsString := EmpVT.FieldByName('BANKID').AsString; 
    VirtualTableBankTransferListExport.FieldByName('TBANKNAME').AsString := EmpVT.FieldByName('TBANKNAME').AsString; 
    VirtualTableBankTransferListExport.FieldByName('BANKLOCATION').AsString := EmpVT.FieldByName('BANKLOCATION').AsString; 
    VirtualTableBankTransferListExport.Post; 
    EmpVT.Next; 
    end; 
    scExcelExport1.WorksheetName := 'Bank Transfer List'; 
    scExcelExport1.Dataset:=VirtualTableBankTransferListExport; 
    scExcelExport1.ExportDataset; 
    scExcelExport1.Disconnect; 

Каков правильный способ создания TVirtualTable через код, не отбрасывая TVirtualTable в форме?

Благодарим за помощь.

ответ

0

Установите CnWizards (больше возможностей, но менее стабильны) или GExperts IDE (более полированные, но меньше возможностей) надстройку на

Они оба имеют «Компонент-To-код» мастера.

Итак, вы должны выбрать свой компонент, запустить эту команду из меню и получить чистые источники Pascal для его создания.

PS. На самом деле может быть несколько компонентов, а не один: поля обычно являются их компонентами.

+0

Спасибо, я попробую ваше решение сегодня вечером. –