Subject Re: [IBO] Transaction and ComboBox
Author Russell Belding
Hello Jason

[...]

> Russell,
>
> I presume you don't want the accept/reject button to be enabled until they
> have actually posted a change to the server?
>
I'm not sure who "they" is in your question.

> In this case you should examine the TransactionStatus which will actually
> differentiate between active and active pending.
>
> I don't quite follow how the TIB_ComboBox is different from the other
> controls however. Once a change is made and a dataset goes into edit state
> that should be all there is to it. Please clarify this for me.
>
I'll try to clarify ...

Take for example the IBO LookupCombo demonstration progam. Stay on one
record. Drop the Department IB_LookupCombo and reselect the current value.
The IB_Updatebar does not change and behind the scenes the trDemo
transaction state stays at tsInactive. (I do not know if it has intermediate
values through this action).

I have added a TIB_ComboBox to this program and added a few values: USA,
France, Italy, .... and attached it to field JOB_COUNTRY. If I drop the
ComboBox and reselect the current value the IB_UpdateBar changes and behind
the scenes trDemo transitions from tsInactive to tsActive.

In this sense the behaviour of the LookupCombo and the ComboBox is different
when the current value is reselected. I am asking if the ComboBox behaviour
should be the same as the LookupCombo when the current value is reselected.

I'll increase the granularity of my observation and get in between the
control and the transaction. When reselecting the current value the
LookupCombo does not push its dataset into state dsEdit whereas the same
action in a ComboBox does.

I think in my case I am only inerested in tsInactive and tsActive. Opening
the form starts the transaction so I never see tsNone. All the other
transaction states are transitory (I think). I want to hold my app user's
unit of work until they press the Accept or Reject button. With the ComboBox
behaviour I enable the Accept/Reject buttons too soon if a user drops the
ComboBox and reselects the current value.

Thanks for considering this.

Russell

>
> ----- Original Message -----
> From: "Russell Belding" <russell@...>
> To: <IBObjects@yahoogroups.com>
> Sent: Tuesday, July 17, 2001 3:10 PM
> Subject: [IBO] Transaction and ComboBox
>
>
> > Hello Team IBO
> >
> > I want to suggest that the criteria by which a TIB_ComboBox tells its
> parent transaction to set TransactionState to tsActive should be changed.
> Being new to Interbase and IBObjects I welcome correction to any
> misunderstanding I have.
> >
> > The background to my comments is I have D5 forms using several
> iboControls, all using a TIB_Query and one TIB_Transaction. The work unit
my
> app user does is accepted or rejected by them by pressing, naturally, an
> accept or reject button. So I need to manage programatically when the
> accept/reject buttons are enabled.
> >
> > Users may change several rows in one work unit, to allow for this I have
a
> TIB_NavigationBar on the form. The state property of the TIB_Query cannot
be
> used to enable/disable the accept/reject buttons because its state
property
> is reset to dssBrowse when the current row changes. So uncommited changes
> are not detected by examining the TIB_Query state.
> >
> > I am using Accept/RejectButtons.enabled :=
> Transaction.TransactionIsActive.
> >
> > This works correctly as far as I can tell, except for the TIB_ComboBox.
If
> a user pulls down the ComboBox list and selects the existing choice the
> transaction state switches to tsActive, and I interpret this as the user
has
> made a change. From my users viewpoint they have not made a change, but I
am
> enabling the accept/reject buttons because I rely on the transaction state
> for this.
> >
> > The change I suggest is the TIB_ComboBox behave like the TIB_LookupCombo
> and not cause the transaction to go active when the existing selection is
> reselected. (I can probably achieve what I want by adding code inside my
app
> but it may be better to change the TIB_ComboBox)
> >
> > This change makes sense to me in that it makes the TIB_ComboBox
behaviour
> consistent with other controls and it solves my problem. Perhaps there are
> reasons not to make the change?
> >
> > Is there a better way to manage Accept/RejectButton.Enabled?
> >
> > (The IBO version I am using is 3.6Dg or h or i. The version code on the
> components says g. With D5. )
> >
> > Thanks
> >
> > Russell
> >
>
>
>
>
> Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
>
>