On Mar 2, 2012, at 10:22 PM, John Fabiani wrote: > On Friday, March 02, 2012 10:12:55 PM Dewald Jacobs wrote: >> 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? > > You are setting your own SQL? > How about posting the code > http://dabo.codepad.org/\ > Johnf
No, but I see Paul did in the script he wrote. Was wondering if that could be the solution. But I am not to sure how to implement it. _______________________________________________ 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/221adf28-8dfc-453f-8967-f8698b4a4...@gmail.com