unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, NxGridView6, NxColumns6, NxControls6, NxCustomGrid6, NxVirtualGrid6, NxCells6;

type
  TForm6 = class(TForm)
    NextVirtualGrid61: TNextVirtualGrid6;
    NxVirtualCellSource61: TNxVirtualCellSource6;
    NxReportGridView61: TNxReportGridView6;
    NxCheckBoxColumn61: TNxCheckBoxColumn6;
    NxTextColumn61: TNxTextColumn6;
    NxNumberColumn61: TNxNumberColumn6;
    procedure FormCreate(Sender: TObject);
    function NxVirtualCellSource61GetRowCount(Sender: TObject): Integer;
    procedure NxVirtualCellSource61GetCell(Sender: TObject; ACol, ARow: Integer; Cell: INxCell);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form6: TForm6;

implementation

{$R *.dfm}

procedure TForm6.FormCreate(Sender: TObject);
begin
  NextVirtualGrid61.CellSource := NxVirtualCellSource61;
  NextVirtualGrid61.DataChanged;
end;

procedure TForm6.NxVirtualCellSource61GetCell(Sender: TObject; ACol, ARow: Integer; Cell: INxCell);
begin
  if ACol = 0 then Cell.AsBoolean := ARow mod 5 = 0;
  if ACol = 1 then Cell.AsString := Format('%d', [ARow]);
  if ACol = 2 then Cell.AsFloat := 100;
end;

function TForm6.NxVirtualCellSource61GetRowCount(Sender: TObject): Integer;
begin
  Result := 20;
end;

end.
