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]