Ситуация такая: надо сделать что-то вроде расписания
сам "экспорт":
Код:
1 2 | Sheet . Cells[idn+ 1 ,gpi]:=predmet1 . text;
Sheet . Cells[idn+ 2 ,gpi]:=prepod1 . text;
|
что касается расположения дней все работает
а вот тут уже проблемка возникает...
в DBLookUpComboBox есть группы: КС-2, КС-1 и т.д.
Код:
1 2 | if group1 . Text= 'КС-2' then gpi:= 3 ;
if group1 . Text= 'КС-1' then gpi:= 4 ;
|
порядок групп идет из БД, т.е. если вначале добавить, например, СТ-1, то он будет заполнять ячейки уже СТ-1, а не КС-2..
т.е. нужно взять позицию из DBLookUpComboBox и указать с какой ячейки начинать..
попытался сделать так:
Код:
1 | if group1 . Text= 'КС-2' then gpi:=strtoint(inttoStr(strToInt(adotable19 . FieldBy Name( 'ID' ).AsString)+ 2 ));
|
т.е. выбранная позиция+2 (работает подобно if group1.Text='КС-2' then gpi:=3; )
надо что-то на подобии:
Код:
1 | if adotable19 . FieldByName( 'ID' ).AsString (или adotable19 . Fields . Fields[ 1 ]) then gpi:=strtoint(inttoStr(strToInt(adotable19 . FieldBy Name( 'ID' ).AsString)+ 2 ));
|
если пятая позиция то 5+2(7-й столбец)
при постороении книги группы так же берутся из базы:
Код:
1 2 3 4 5 6 7 8 9 10 11 12 13 | gp:= 3 ;
ADOTable6 . First;
for gg:= 0 to ADOTable6 . RecordCount- 1 do
begin
Sheet:=XLApp . Workbooks[ 1 ].WorkSheets[ 'Расписание' ];
Sheet . Cells[ 1 ,gp]:=ADOTable6 . Fields . Fields[ 1 ].AsString;
Colum . Columns[gp].ColumnWidth:= 20 ;
Sheet . Cells[gp].HorizontalAlignment:= 3 ;
Sheet . Cells[gp].Borders . LineStyle:=- 4119 ;
Sheet . Cells[gp].Interior . Color:=rgb( 230 , 230 , 230 );
Inc(gp);
ADOTable6 . Next;
end ;
|