FNC Grid with ProgressBar

I Have a Web form with FNC Grid for displaying Data,

The data is retreived with WebClientConnection, but I cannot obtain the progressbars.

procedure TWidget7.SetupColumnWidths;
  Wid7Grid.ColumnWidths[0] := 70;
  Wid7Grid.ColumnWidths[1] := 30;
  Wid7Grid.ColumnWidths[2] := 60;
  Wid7Grid.ColumnWidths[3] := 60;


procedure TWidget7.Wid7GridTopLeftChanged(Sender: TObject; ATopRow,
  ALeftCol: Integer);

Also I would like to change the color of the progressbar if the values aro over some limits.


The progressbars are showing as expected, please provide more information on this issue, at which point does the error occur?. Please don't set up columns in the TopLeftChanged event. Please set this up in the form constructor. Additionally, the progressbar color cannot be changed, we'll add this on our feature request list.
Quick update on this:

The progresbars are showing as expected if I load the data step by step traversing the dataset, But does not work when the data is loaded thru "TMSFNCGridDatabaseAdapter".


Progressbar support is currently not exposed via the grid database adapter. But you should be able to add a ProgressBar column after the dataset is loaded. You can do this after setting DataSet.Active := True

Sorry for resurrecting an old thread but it doesn't seems to be implemented as of yet.

If I try to assign the values afterwards through a simple button click:

  i: integer;
  pVal: Integer;
  cp: TTMSFNCGridCellProperty;
  for i := TMSFNCGrid1.FixedRows to TMSFNCGrid1.RowCount - 1 do
    pVal := 0;
    TryStrToInt(TMSFNCGrid1.Cells[9, i], pVal);

    cp := TTMSFNCGridCellProperty(IntObjects[9, i]);
    if Assigned(cp) then
      (cp.Control as TTMSFNCGridCellProgressBar).Value := pVal;

How can I get the IntObjects from an external pov?

To update the progressbar you can simply use

TMSFNCGrid1.AddProgressBar(9, i, 25);

My problem is how to get the value when the grid is database aware, Cells returns an empty string?

TMSFNCGrid1.AddProgressBar(9, i, TMSFNCGrid1.Cells(9, i));


You can get the value from the DB field at active record.


Actice Record won't help to load the whole grid. At that point, I would be better off loading all values up front in a list and assigning them all at once. So maybe I can load values from the dataset AfterOpen, I will try.