Am Montag, 18. August 2008 19:48:06 schrieb Paul McNett:
> Paul McNett wrote:
> > Sibylle Koczian wrote:
> >> self.Choices = ["unknown"] + names
> >> self.Keys = [0] + pks
> >>
> >> That works, now "unknown" is selected and the info log message
> >> disappears. But does it really mean a dropdown list must have an entry
> >> with key 0, even if completely artificial?
> >
> > No, but thanks for finding the source of this message (I've been
> > wondering myself). Somewhere we are certainly saying "lst.Value = 0"
> > when in fact we should be saying 'lst.PositionValue=0'.
>
> I didn't fix whatever something is setting lst.Value to 0, but I did
> clean up listbox behavior when its Value gets set to a non-existent key.
> Now, nothing is selected in that case.
>
> Please try out the latest subversion trunk.
>

Did this now and the result wasn't really satisfactory. The HoursForm-code.py 
contains:

## *!* ## Dabo Code ID: dDropdownList-dPage
def afterInit(self):
        biz = self.Form.getBizobj("hours")
        (names, pks) = biz.getClients()
        self.Choices = names
        self.Keys = pks
        self.ValueMode = "Key"
        self.PositionValue = 0

With this last statement I wouldn't expect any error message, because now a 
valid list entry is explicitly selected. Right so far? But I get this:

Traceback (most recent call last):
  File "usr/lib/python2.5/site-packages/wx-2.8-gtk2-unicode/wx/_misc.py", line 
1341, in Notify
  File "usr/lib/python2.5/site-packages/wx-2.8-gtk2-unicode/wx/_core.py", line 
14466, in Notify
  File "/usr/lib/python2.5/site-packages/dabo/ui/uiwx/dForm.py", line 147, in 
__update
    super(BaseForm, self).update()
  File "/usr/lib/python2.5/site-packages/dabo/ui/uiwx/dPemMixin.py", line 
1218, in update
    self.raiseEvent(dEvents.Update)
  File "/usr/lib/python2.5/site-packages/dabo/ui/uiwx/dPemMixin.py", line 925, 
in raiseEvent
    super(dPemMixin, self).raiseEvent(eventClass, nativeEvent, *args, 
**kwargs)
  File "/usr/lib/python2.5/site-packages/dabo/lib/eventMixin.py", line 92, in 
raiseEvent
    bindingFunction(event)
  File "/usr/lib/python2.5/site-packages/dabo/ui/uiwx/dPemMixin.py", line 
1195, in __onUpdate
    self.update()
  File "/usr/lib/python2.5/site-packages/dabo/ui/uiwx/dPemMixin.py", line 
1218, in update
    self.raiseEvent(dEvents.Update)
  File "/usr/lib/python2.5/site-packages/dabo/ui/uiwx/dPemMixin.py", line 925, 
in raiseEvent
    super(dPemMixin, self).raiseEvent(eventClass, nativeEvent, *args, 
**kwargs)
  File "/usr/lib/python2.5/site-packages/dabo/lib/eventMixin.py", line 92, in 
raiseEvent
    bindingFunction(event)
  File "/usr/lib/python2.5/site-packages/dabo/ui/uiwx/dPemMixin.py", line 
1195, in __onUpdate
    self.update()
  File "/usr/lib/python2.5/site-packages/dabo/ui/uiwx/dPemMixin.py", line 
1218, in update
    self.raiseEvent(dEvents.Update)
  File "/usr/lib/python2.5/site-packages/dabo/ui/uiwx/dPemMixin.py", line 925, 
in raiseEvent
    super(dPemMixin, self).raiseEvent(eventClass, nativeEvent, *args, 
**kwargs)
  File "/usr/lib/python2.5/site-packages/dabo/lib/eventMixin.py", line 92, in 
raiseEvent
    bindingFunction(event)
  File "/usr/lib/python2.5/site-packages/dabo/ui/uiwx/dPemMixin.py", line 
1195, in __onUpdate
    self.update()
  File "/usr/lib/python2.5/site-packages/dabo/ui/dDataControlMixinBase.py", 
line 116, in update
    self.Value = src.getFieldVal(self.DataField)
  File "/usr/lib/python2.5/site-packages/dabo/ui/uiwx/dControlItemMixin.py", 
line 370, in _setValue
    self.KeyValue = value
  File "/usr/lib/python2.5/site-packages/dabo/ui/uiwx/dControlItemMixin.py", 
line 229, in _setKeyValue
    raise ValueError, _("Trying to set %s.Value to these invalid 
selections: %s") % (self.Name, invalidSelections)
ValueError: Trying to set dDropdownList_9409996432.Value to these invalid 
selections: [0]

In spite of this the control shows the first entry. But if I save the record 
the clientfk is 0 and not the primary key of the first list entry (which is 
1).

So I'm afraid this is worse than it was before. Value and PositionValue seem 
to have got mixed up.

Sibylle 

-- 
Dr. Sibylle Koczian


_______________________________________________
Post Messages to: [email protected]
Subscription Maintenance: http://leafe.com/mailman/listinfo/dabo-users
Searchable Archives: http://leafe.com/archives/search/dabo-users
This message: http://leafe.com/archives/byMID/[EMAIL PROTECTED]

Reply via email to