Using CRDBGrid connected to a MyTable dataset via MyDataSource, all functionality of CRDBGrid available. But when connecting a MyTable dataset to MyDataSource through a ClientDataSet object via a DataSetProvider object which points to the MyTable. The functionality of the click on column header (button) becomes non-functional. It appears though that the button is still present, but the action or linkage is broken. Is there a workaround?
I would really like to keep the functionality of CRDBGrid as well as to pickup the aggregation capability and caching provided by the TClientDataSet component.
Mean while I'll do some checking in the CRDBGrid to see how the click on title works, but won't promise anything, as I'm a C++ programmer trying to debug Delphi.
Use of CRDBGrid with MyTable via ClientDatasets = Sort broke
More info & Questions
In reviewing the source for CRDBGrid it appears as if it is due to a test for the DataLink's DataSet parent class type but unsure how "DataLink.DataSet" returns the parent type for a ClientDataSet. I'm assuming it's TCustomClientDataSet. So I probably need to override the method in TCRDBGrid named "Reorder" to perform the same operation as for the TMemDataSet, but use semicolons for IndexFieldNames when composing the St string.
Now for the real problem with doing the above, I'm using the C++ Builder 2007 and do not have the Delphi environment so I could recompile the component source. Is there some other way that I might be able to override the internal component method without recompile.
Now for the real problem with doing the above, I'm using the C++ Builder 2007 and do not have the Delphi environment so I could recompile the component source. Is there some other way that I might be able to override the internal component method without recompile.