Re: [dabo-users] Populating a dropdown list

Author: Dave Kelly

Posted: 2012-07-27 at 13:25:04

I still haven't had luck with populating a dropdown list. I decided to not

use Postgresql to avoid any specific issues with that database and am

following the PyCon tutorial to the letter. The steps I took are as

follows:

1. I made the ClientBizobj.py look like this:

import dabo

class ClientBizobj(dabo.biz.dBizobj):

def afterInit(self):

self.DataSource = "clients"

self.KeyField = "pkid"

self.addFrom("clients")

self.addField("pkid")

self.addField("clientname")

self.addField("attn")

self.addField("rate")

self.addField("street1")

self.addField("street2")

self.addField("city")

self.addField("stateprov")

self.addField("postalcode")

def getNamesAndKeys(self):

crs = self.getTempCursor()

crs.execute("""select pkid, clientname

from clients

order by clientname""")

ds = crs.getDataSet()

# Create the lists

names = [rec["clientname"] for rec in ds]

keys = [rec["pkid"] for rec in ds]

return (names, keys)

I added this to the /biz/__init__.py

from ClientBizobj import ClientBizobj

In form design I added a dropdown list. I changed the datasource property

to "hours", the datafield property to clientfk, the valuemode property to

"Key" and the regid property to ClientList.

In the afterInitAll method I added:

clientBiz = self.getBizobj("clients")

names, keys = clientBiz.getNamesAndKeys()

self.ClientList.Choices = names

self.ClientList.Keys = keys

self.ClientList.ValueMode = "Key"

self.requery()

I updated main.py to use the hours form as the default form. I closed

everything down and ran main.py. This is the output:

dave@dave-Mint ~/pycon $ python main.py

/usr/local/lib/python2.7/dist-packages/dabo/lib/SimpleCrypt.py:52:

UserWarning: WARNING: SimpleCrypt is not secure. Please see

http://wiki.dabodev.com/SimpleCrypt for more information

warnings.warn("WARNING: SimpleCrypt is not secure. Please see

http://wiki.dabodev.com/SimpleCrypt for more information")

Traceback (most recent call last):

File "main.py", line 13, in <module>

app.start()

File "/usr/local/lib/python2.7/dist-packages/dabo/dApp.py", line 395, in

start

self.setup()

File "/usr/local/lib/python2.7/dist-packages/dabo/dApp.py", line 347, in

setup

self.initUIApp()

File "/usr/local/lib/python2.7/dist-packages/dabo/dApp.py", line 387, in

initUIApp

self.uiApp.setup()

File "/usr/local/lib/python2.7/dist-packages/dabo/ui/uiwx/uiApp.py", line

429, in setup

frm = self.dApp.MainForm = dabo.ui.createForm(mfc)

File "/usr/local/lib/python2.7/dist-packages/dabo/ui/uiwx/__init__.py",

line 1354, in createForm

frm = cls(*args, **kwargs)

File "/tmp/tmp91Jzpj.py", line 10, in __init__

super(dForm_15476, self).__init__(parent=parent,

attProperties=attProperties, *args, **kwargs)

File "/usr/local/lib/python2.7/dist-packages/dabo/ui/uiwx/dForm.py", line

1062, in __init__

*args, **kwargs)

File "/usr/local/lib/python2.7/dist-packages/dabo/ui/uiwx/dForm.py", line

49, in __init__

attProperties=attProperties, *args, **kwargs)

File "/usr/local/lib/python2.7/dist-packages/dabo/ui/uiwx/dFormMixin.py",

line 76, in __init__

attProperties=attProperties, *args, **kwargs)

File "/usr/local/lib/python2.7/dist-packages/dabo/ui/uiwx/dPemMixin.py",

line 201, in __init__

self._afterInit()

File "/usr/local/lib/python2.7/dist-packages/dabo/ui/uiwx/dForm.py", line

76, in _afterInit

super(BaseForm, self)._afterInit()

File "/usr/local/lib/python2.7/dist-packages/dabo/ui/uiwx/dFormMixin.py",

line 124, in _afterInit

self.createBizobjs()

File "/tmp/tmp91Jzpj.py", line 172, in createBizobjs

clientBizobj = self.Application.biz.clientBizobj(self.Connection)

AttributeError: 'module' object has no attribute 'clientBizobj'

Obviously, it doesn't like what I have done in the CreateBizobjs. This is

exactly the behaviour I was experiencing when I was using my own Postgres

database.

I am at a loss. Any help?

Thanks!

_______________________________________________

Post Messages to: Dabo-users@leafe.com

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/00d001cd6c25$25007870$6f016950$@theprioryinn.co.uk

©2012 Dave Kelly