Mike Fechner
126 posts
Registered:
14 Sep 2016
29 Nov
in reply to
Carl Verbiest
Link to this post
The Progress.Data.DummyRow is not representing a grid row. It's the data element that the ProBindingSource binds to. The DummyRow is just a System.Object. So casting it to anything will never be successful.
The implementation seems to rely on the .NET System.ComponentModel.IDataErrorInfo interface. This interface is implemented by the DummyRow class.
In GUI for .NET we're (the AVM is) not simulating binding to a DataRowView, as filtering is done based on the ABL Query, not on .NET rows.
drv.Row returns the .NET DataRow reference that is represented by the DataRowView. So at this level we'd be similar to the DummyRow.
The way I read the ultraGrid1_InitializeRow code sample, they are setting the RowError property. If the DummyRow from Progress successfully implements the System.ComponentModel.IDataErrorInfo interface, I would expect that this is not needed. I would expect that the System.ComponentModel.IDataErrorInfo implementation is basically a facade to the ERROR-STRING property of the ABL record represented by the ProBindingSource row. Actually the IDataErrorInfo interface provides only read-only property which is in line with my expectation.
This would probably be an interesting discussion for Progress communities ...