procedure TFormMain.TabSSourcesShow(Sender: TObject);
Var Row,Col:Integer;
Cell: TMyTextCell;
RowGrid:Array[0..11] of integer;
begin
{$IFNDEF MSWINDOWS}
KGrid1.DefaultRowHeight := 34;
{$ENDIF}
KSTGSources.DoubleBuffered := True;
{$IFDEF MSWINDOWS}
// In Windows Vista and 7 this is much more nicer
if Win32MajorVersion >= 6 then
KSTGSources.OptionsEx := KSTGSources.OptionsEx + [gxFixedThemedCells];
{$ENDIF}
RowGrid[0]:=4;
RowGrid[1]:=8;
RowGrid[2]:=11;
RowGrid[3]:=15;
RowGrid[4]:=19;
RowGrid[5]:=23;
RowGrid[6]:=27;
RowGrid[7]:=31;
RowGrid[8]:=35;
RowGrid[9]:=39;
RowGrid[10]:=45;
RowGrid[11]:=47;
if( DM.SQLQSources.Active = false) then begin
DM.SQLQSources.ParamByName('ppnid').AsInteger:= BDproduct.FieldByName('pnid').AsInteger;
DM.SQLQSources.open;
end else begin
DM.SQLQSources.close;
DM.SQLQSources.ParamByName('ppnid').AsInteger:= BDproduct.FieldByName('pnid').AsInteger;
DM.SQLQSources.open;
end;
// KSTGSources.RealizeCellClass;
KSTGSources.RowCount:= DM.SQLQSources.RecordCount *3 +DM.SQLQSources.RecordCount+3 ;
KSTGSources.CellClass := TMyTextCell;
// KSTGSources.PageSetup.Title := 'KGridDemo table';
// KSTGSources.PageSetup.UnitHeaderSpace := 1; //we want to print a custom header, cm is default
// KSTGSources.RangeSelectStyle := rsMultiSelect;
KSTGSources.Cells[1, 0] := 'Vendor';
KSTGSources.Cells[2, 0] := 'Mfr';
KSTGSources.Cells[4, 0] := 'Cost';
KSTGSources.Cells[5, 0] := 'Primary';
KSTGSources.Cells[1, 1] := 'Vendor P/N';
KSTGSources.Cells[2, 1] := 'Mfr P/N';
KSTGSources.Cells[4, 1] := 'Buy As';
KSTGSources.Cells[5, 1] := 'Choice';
KSTGSources.Cells[1, 2] := 'Description';
KSTGSources.CellSpan[2, 2]:=MakeCellSpan(1, 2);
KSTGSources.Cells[2, 2]:='Lead Time' ;
// STGSources.CellSpan[3, 2]:=MakeCellSpan(1, 2);
// STGSources.Cells[3, 2] := 'Lead Time ';
KSTGSources.CellSpan[3, 2]:=MakeCellSpan(1, 2);
KSTGSources.Cells[3, 2] := ' RFQ Date ';
KSTGSources.Cells[4, 2] := 'Atlevel';
KSTGSources.Cells[5, 2] := 'Multipleof';
KSTGSources.ColWidths[0] := 20;
KSTGSources.ColWidths[1] := 150;
KSTGSources.ColWidths[2] := 150;
KSTGSources.ColWidths[3] := 80;
KSTGSources.ColWidths[4] := 80;
KSTGSources.ColWidths[5] := 80;
Row:=0 ;
Col:=0 ;
// while (not DM.SQLQSources.eof ) do begin
// Row:= RowGrid[DM.SQLQSources.RecNo-1];
// Cell := TMyTextCell.Create(nil);
// try
// Cell.Text := '0';
// Cell.CheckBoxState := cbUnChecked;
// KSTGSources.Cell[5, Row] := Cell; // Cell is copied, we must destroy it
// finally
// Cell.Free;
// end;
// DM.SQLQSources.next;
// end;
Row:=4 ;
Col:=0 ;
DM.SQLQSources.first;
while(not DM.SQLQSources.eof) do begin
KSTGSources.Cells[Col, Row] := Inttostr(DM.SQLQSources.RecNo);
KSTGSources.Cells[1, Row] := DM.SQLQSources.FieldByName('SuSupplier').AsString;
KSTGSources.Cells[2, Row] := DM.SQLQSources.FieldByName('lnkMFRid').AsString;
KSTGSources.Cells[4, Row] := DM.SQLQSources.FieldByName('lnkcurrentcost').AsString;
Cell := TMyTextCell.Create(nil);
try
Cell.Text := DM.SQLQSources.FieldByName('LnkUse').AsString;
if( DM.SQLQSources.FieldByName('LnkUse').AsInteger =1) then begin
Cell.CheckBoxState := cbChecked;
end else begin
Cell.CheckBoxState := cbUnChecked;
end;
KSTGSources.Cell[5, Row] := Cell; // Cell is copied, we must destroy it
finally
Cell.Free;
end;
Inc(Row);
KSTGSources.Cells[1, Row] := DM.SQLQSources.FieldByName('lnkvendorpn').AsString;
KSTGSources.Cells[2, Row] := DM.SQLQSources.FieldByName('lnkvendorpn').AsString;
KSTGSources.Cells[4, Row] := DM.SQLQSources.FieldByName('unuseunits').AsString;
KSTGSources.Cells[5, Row] := DM.SQLQSources.FieldByName('lnkchoice').AsString;
Inc(Row);
KSTGSources.Cells[1, Row] := DM.SQLQSources.FieldByName('lnkvendordesc').AsString;
KSTGSources.Cells[2, Row] := DM.SQLQSources.FieldByName('lnkleadtime').AsString ;
KSTGSources.Cells[3, Row] := DM.SQLQSources.FieldByName('lnkrfqdate').AsString ;
KSTGSources.Cells[4, Row] := DM.SQLQSources.FieldByName('lnkatqty').AsString;
KSTGSources.Cells[5, Row] := DM.SQLQSources.FieldByName('lnkminincrement').AsString;
Inc(row);
Inc(row);
Col:=0 ;
DM.SQLQSources.Next;
end;
end;