[Lazarus] RE : RE : RE : RE : RE : @DBLookupControls users: call for test

Marcos Douglas md at delfire.net
Wed Dec 14 13:22:38 CET 2011


On Wed, Dec 14, 2011 at 8:17 AM,  <michael at freepascal.org> wrote:
>
>
> On Wed, 14 Dec 2011, Ludo Brands wrote:
>
>>>
>>> I've got your point.
>>>
>>> Mine is that the control should keep less intrusive as it was
>>> designed
>>> earlier (the original author explicitly avoided changing
>>> listsource cursor).
>>>
>>
>> Less intrusive became occulted. Not only are we missing an important (for
>> me
>> at least) Delphi feature but the current implementation makes it virtually
>> impossible to emulate the Delphi behavior since everything related to the
>> lookup is private:
>> A convoluted workaround for DBLookupComboBox was to create a
>> DBLookupComboBox.OnChange, retrieve DBLookupComboBox.ItemIndex and move
>> its
>> listsource to that position. Unfortunately, recent changes have made this
>> even more difficult since DBLookupComboBox2.ListSource returns nil if
>> Datafield is a lookup field. Setting ListSource when Datafield is ftLookup
>> was superfluous but possible and useful. Beats me why this was removed.
>> Progress? Now I have to get the field information of DataField to get to
>> the
>> ListSource :
>>
>> DBLookupComboBox.DataSource.DataSet.FieldByName(DBLookupComboBox.DataField).
>> LookupDataSet.RecNo:=DBLookupComboBox.ItemIndex+1 :(  I'll create a
>> seperate
>> bugreport for this regression. Even if ListSource isn't settable for a
>> ftLookup Datafield, it shouldn't return nil.
>>
>> DBGrid is even worse. For the picklist I haven't found anything (event or
>> property) to get to its index or value.
>>
>> The remedy for being less intrusive is worse than the disease.
>
>
> I am totally in agreement with Ludo on this one.
>
> I think the users should at least be offered the opportunity to change the
> behaviour. I have always counted on the Delphi-compatible behaviour:
> selecting an element in a lookup positions the cursor in the lookup dataset.
>
> So a property 'SyncLookupCursor' or so should maybe be introduced. The
> default can be 'False', but I for one would need the 'True'.

That is I said before...

Marcos Douglas




More information about the Lazarus mailing list