dbadvgrid editor edcombolist not updating data

Just started seeing this not sure if it was last update or one before, but when selecting an item from the list where:
//dbadvgrid1.Columns[dbadvgrid1.ColumnByHeader('Vendor')].Editor := edcombolist;
was populated from a stringlist, it does not update the field data. field onchange never gets fired either.
The edcomboedit still works however.
10.4.8.0 is version i am on.

I cannot reproduce this.
Was retested with demo ADOEditing and specifying an edComboList editor via:

procedure TForm1.DBAdvGrid1GetEditorType(Sender: TObject; ACol,
ARow: Integer; var AEditor: TEditorType);
begin
case ACol of
3, 4, 5: AEditor:= edPositiveNumeric;
6: AEditor:= edSpinEdit;
8: AEditor := edComboList;
end;
end;

You are correct that it works on the ADO demo using the jet access mdb file. Unfortunately, it does not work with MySql using 5.6.x and the libeay32/libmysql dlls with TSQLTable and TClientDataSet for me. I have tried on several fields in the table with no other action at run time other than changing from edComboList to edComboEdit as in your example. Every time, in "list" mode the cells do not update and do not fire the onchange event for the field either. I cannot pinpoint when this started but it did not used to be this way and obviously just toggling the property from combo to list would not make a field read only.

I did the same test with a TClientDataSet in the demo CDSEditing where the continent column was setup to use a edComboList:

procedure TFormMain.GridCountryGetEditorType(Sender: TObject; ACol,
  ARow: Integer; var AEditor: TEditorType);
begin
  case ACol of
    1,2: AEditor := edNormal;
    3: AEditor:= edComboList;
    4, 5: AEditor:= edPositiveNumeric;
  end;
end;

and also here, I could not see an issue.

I will try a test project when i get some time and see if it happens in a simple app. Thanks.

Bruno, I did create new test app and just have fresh grid and dataset and it works fine on the same db and connection so i must have something crazy in my grid settings or code causing the problem. So strange that the edComboEdit works fine but the edComboList will not. Thanks for looking at it.

Ok, let us know if you have more details that allow us to reproduce this here.

Bruno, i have found something out. In my test app with grid working on same table i copied the grid from the production app to it and have them side by side. The production grid, the edComboList does not update the data field. The "new" grid in the test app, works fine for the edComboList. So is there a good way to compare the configs of the 2 grids to find the problem? I think this shows it is not in the code but something i have done in the grid properties somewhere that has caused this not to work.

To begin with you could compare the property settings by comparing the DFM contents of both grids.

I went through them one by one and finally found the culprit. EditPostMode. epRow breaks the edComboList. Please see if you can reproduce.

For what it's worth, the issue does not occur in the ado editing demo project. Which of course does not help me at all. The only difference I have is that i am using a dbexpress and mysql connection. My sample app has no custom code or events in it at all. I even set the combolist in the column properties rather than at run time. The only other thing I can see is the scroll bar on the "broken" grid does not behave the same as the working grid. It immediately jumps to the middle rather than tracking with the data.

The scrollbar handling is due to the setting grid.DatasetType which is most likely set to dtNonSequenced. For a dtNonSequenced dataset type, this scrollbar behavior is by design. It is normal because this type of dataset knows only 3 states: record buffer is at beginning of dataset, somewhere in the middle or at the end. So, the scrollbar can only reflect these 3 states. It only knows these states, as in this type, buffers can be sent in non-sequential order.