On Mar 2, 2012, at 9:04 PM, Paul McNett wrote:
> On 3/2/12 10:55 AM, Paul McNett wrote:
>> When confronted by things like this, I like to reduce them down with as few
>> variables
>> as possible, in a single, simple script. Please look at this script and run
>> it, which
>> seems to prove that there isn't anything obviously wrong at the Dabo layer,
>> although
>> you should tweak the script to better match your situation, like adding the
>> second
>> table, etc.:
>>
>> http://paulmcnett.com/test_sqlite_view.py
>
> Oh, hang on... a click on a grid header results in the traceback:
>
> {{{
> Traceback (most recent call last):
> File "/home/pmcnett/dabo-full/trunk/dabo/ui/uiwx/dGrid.py", line 4161, in
> __onWxHeaderMouseLeftUp
> self.raiseEvent(dEvents.GridHeaderMouseLeftUp, evt, col=col)
> File "/home/pmcnett/dabo-full/trunk/dabo/ui/uiwx/dPemMixin.py", line 1074,
> in
> raiseEvent
> super(dPemMixin, self).raiseEvent(eventClass, nativeEvent, *args,
> **kwargs)
> File "/home/pmcnett/dabo-full/trunk/dabo/lib/eventMixin.py", line 81, in
> raiseEvent
> bindingFunction(event)
> File "/home/pmcnett/dabo-full/trunk/dabo/ui/uiwx/dGrid.py", line 3632, in
> _onGridHeaderMouseLeftUp
> self.processSort(col)
> File "/home/pmcnett/dabo-full/trunk/dabo/ui/uiwx/dGrid.py", line 2894, in
> processSort
> biz.sort(columnToSort, sortOrder, self.caseSensitiveSorting)
> File "/home/pmcnett/dabo-full/trunk/dabo/biz/dBizobj.py", line 1209, in sort
> cc.sort(col, ordr, caseSensitive)
> File "/home/pmcnett/dabo-full/trunk/dabo/db/dCursorMixin.py", line 593, in
> sort
> self.__sortRows(newCol, newOrd, caseSensitive)
> File "/home/pmcnett/dabo-full/trunk/dabo/db/dCursorMixin.py", line 619, in
> __sortRows
> self.__unsortedRows.append(row[kf])
> KeyError: u'id'
> }}}
>
> I messed up writing the script and had the KeyField defined in the bizobj as
> "id" and
> not "Id". Making that change makes grid sorting work just fine, as well as
> probably
> everything else that relies on KeyField. I've fixed the test script online:
>
> http://paulmcnett.com/test_sqlite_view.py
>
> Paul
The script ran perfectly. So in theory the view should also work in my example.
The only unknown left (that I can think of) might be some rookie mistake on my
part or the classdesigner as John pointed out.
I have now simplified my app (also, only using lowercase for column and
table/view names) and I now only have the following traceback that cycles for
all columns:
Traceback (most recent call last):
File "C:\projects\dabo\ui\uiwx\dGrid.py", line 331, in GetValue
ret = self.getStringValue(bizobj.getFieldVal(field, row))
File "C:\projects\dabo\biz\dBizobj.py", line 1872, in getFieldVal
ret = self._CurrentCursor.getFieldVal(fld, row, _rowChangeCallback=changeRow
NumCallback)
File "C:\projects\dabo\db\dCursorMixin.py", line 940, in getFieldVal
_("Field"), fld, _("does not exist in the data set")))
dabo.dException.FieldNotFoundException: Field 'idnommer' does not exist in the d
ata set
The one line in the script that stands out to me is this:
cur.UserSQL = "select Id, FirstName from v_test"
Might this be the property that I am missing?
--- 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]