As recommended while I was trying to figure out, and finally succeeding with
a Simple Drop Down List (hard coded, not from db), I decided to try it
another way, by following the step by step. I created a table in the
database called states:

CREATE TABLE IF NOT EXISTS states (
  pkid INT NOT NULL auto_increment,
  statename CHAR(40) NOT NULL,
  stateabbrev CHAR(2) NOT NULL,
  PRIMARY KEY (pkid)
)

Good so far.

Modified the ClientAddForm.cdxml file for the stateprov field:

<dDropdownList code-ID="dDropdownList-dPanel" sizerInfo="{'RowSpan': 1,
'ColSpan': 1, 'HAlign': 'Left', 'ColExpand': True}" rowColPos="(5, 1)"
Choices="[]" designerClass="controlMix" DataSource="clients" RegID="ddState"
DataField="stateprov"></dDropdownList>

Again...good so far.
Now following the step by step for the HoursForm portion I changed the code
for buttons & drop down etc with appropriate changes (deleted the old
ClientAddForm-code.py file)  in Class Designer accordingly to populate the
dropdown from the states field so that  I end up with a new
ClientAddForm-code.py file as follows:

# -*- coding: utf-8 -*-
### Dabo Class Designer code. You many freely edit the code,
### but do not change the comments containing:
###         'Dabo Code ID: XXXX',
### as these are needed to link the code to the objects.

## *!* ## Dabo Code ID: dButton-dPanel-182
def onHit(self, evt):
    self.Form.cancel()



## *!* ## Dabo Code ID: dDropdownList-dPanel
def afterInit(self):
    biz = self.Form.getBizobj("client")
    names, pks = biz.getStates()
    self.Choices = names
    self.Keys = pks
    self.ValueMode = "Key"



## *!* ## Dabo Code ID: dButton-dPanel-205
def onHit(self, evt):
    self.Form.close()



## *!* ## Dabo Code ID: dForm-top
def afterInitAll(self):
    self.new()


def afterSave(self):
    # This will only get called if the save succeeds
    self.new()
    self.clientName.setFocus()


def beforeSave(self):
    bizobj = self.getBizobj(self.dataSourceParameter)
    # If the bizobj hasn't changed, we want to notify the user
    # and abort the save process, so that the new record is
    # not added afterwards.
    if not bizobj.isChanged():
        return "No changes have been made; cannot save."


def createBizobjs(self):
    conn = self.Application.getConnectionByName("ConsultHours")
    bizClient = self.Application.biz.ClientBizobj(conn)
    self.addBizobj(bizClient)



## *!* ## Dabo Code ID: dButton-dPanel
def onHit(self, evt):
    self.Form.save()

I figured I was good to go. Saved the ClientAddForm file and closed CD. Ran
my main.py file and got the following error:

AttributeError: 'NoneType' object has no attribute 'ClientBizobj'

Here's the full trace back:

Traceback (most recent call last):
  File "main.py", line 17, in <module>
    app.start()
  File "/usr/lib/python2.5/site-packages/dabo/dApp.py", line 376, in start
    self.setup()
  File "/usr/lib/python2.5/site-packages/dabo/dApp.py", line 332, in setup
    self.initUIApp()
  File "/usr/lib/python2.5/site-packages/dabo/dApp.py", line 368, in
initUIApp
    self.uiApp.setup()
  File "/usr/lib/python2.5/site-packages/dabo/ui/uiwx/uiApp.py", line 412,
in setup
    frm = self.dApp.MainForm = dabo.ui.createForm(mfc)
  File "/usr/lib/python2.5/site-packages/dabo/ui/uiwx/__init__.py", line
1145, in createForm
    frm = cls(*args, **kwargs)
  File "/tmp/tmpWMYPqT.py", line 9, in __init__
    super(dForm_89864, self).__init__(parent=parent,
attProperties=attProperties, *args, **kwargs)
  File "/usr/lib/python2.5/site-packages/dabo/ui/uiwx/dForm.py", line 931,
in __init__
    BaseForm.__init__(self, preClass, parent, properties, attProperties,
*args, **kwargs)
  File "/usr/lib/python2.5/site-packages/dabo/ui/uiwx/dForm.py", line 44, in
__init__
    fm.dFormMixin.__init__(self, preClass, parent, properties,
attProperties, *args, **kwargs)
  File "/usr/lib/python2.5/site-packages/dabo/ui/uiwx/dFormMixin.py", line
89, in __init__
    attProperties, *args, **kwargs)
  File "/usr/lib/python2.5/site-packages/dabo/ui/uiwx/dPemMixin.py", line
186, in __init__
    self._afterInit()
  File "/usr/lib/python2.5/site-packages/dabo/ui/uiwx/dForm.py", line 71, in
_afterInit
    super(BaseForm, self)._afterInit()
  File "/usr/lib/python2.5/site-packages/dabo/ui/uiwx/dFormMixin.py", line
139, in _afterInit
    self.createBizobjs()
  File "/tmp/tmpWMYPqT.py", line 235, in createBizobjs
    bizClient = self.Application.biz.ClientBizobj(conn)
AttributeError: 'NoneType' object has no attribute 'ClientBizobj'


What am I doing wrong???

Thanks in advance
Carey


--- StripMime Report -- processed MIME parts ---
multipart/alternative
  text/plain (text body -- kept)
  text/html
---

_______________________________________________
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