ZPivotTable doesnt save its data dictionary
Hi folks, I've started to program a pivot table. Therefore I've created three classes: ZPivotTable, Row and Cell. The ZPivotTable class contains a set of Row classes, stored in a dictionary, as well as the Row classes contain a set of Cell classes stored in a dictionary. Now I am debugging the product and can't find the reason why the table doesn't store the rows in its dictionary. Could you please help me finding this bug. The source is stored under the following address: http://www.zope.org/Members/freiser/ZPivotTable/ZPivotTable-0.0.tar.gz Thanks Florian Reiser -- ----------------------------------------------------------------------- | Florian Reiser PGP-Key:0x5368CF3F | | PGP-Fingerprint: 84C7 24BC F3A4 487F CBC7 692C 05DB 6E11 5368 CF3F | -----------------------------------------------------------------------
florian, without even looking at the code, when you use simple data types (lists, dictionaries, etc) to store your data you have to make sure that the persistence machinery gets tickled the right way whenever you update values. with those simple storage datatypes it won't know things have changed unless you specifically tell it. you would need to do either something like this:: self.my_storage_dictionary['newvalue'] = x self._p_changed = 1 or you could do it like this: dictionary = self.my_storage_dictionary dictionary['newvalue'] = x self.my_storage_dictionary = dictionary or you could simply use one of the helper classes that come with zope, like "PersistentMapping". it emulates a dictionary and makes sure the persistence machinery gets told about changes. jens On 5/12/01 10:27, "florian_reiser@gmx.de" <florian_reiser@gmx.de> wrote:
Hi folks,
I've started to program a pivot table.
Therefore I've created three classes:
ZPivotTable, Row and Cell.
The ZPivotTable class contains a set of Row classes, stored in a dictionary, as well as the Row classes contain a set of Cell classes stored in a dictionary.
Now I am debugging the product and can't find the reason why the table doesn't store the rows in its dictionary.
Could you please help me finding this bug.
The source is stored under the following address: http://www.zope.org/Members/freiser/ZPivotTable/ZPivotTable-0.0.tar.gz
Thanks
Florian Reiser
jens, thanks for your reply. It helped me a lot. Do you have me a tip how I can get all Z SQL Methods in an selection field. I've found the superValues('Z SQL Method') function, but I'm having problems using it, because it can only be used in python. So how can I get the result returned from this function in my dtml form? thanx in advance florian On Sun, May 13, 2001 at 09:57:42AM -0400, Jens Vagelpohl wrote:
florian,
without even looking at the code, when you use simple data types (lists, dictionaries, etc) to store your data you have to make sure that the persistence machinery gets tickled the right way whenever you update values. with those simple storage datatypes it won't know things have changed unless you specifically tell it.
you would need to do either something like this::
self.my_storage_dictionary['newvalue'] = x self._p_changed = 1
or you could do it like this:
dictionary = self.my_storage_dictionary dictionary['newvalue'] = x self.my_storage_dictionary = dictionary
or you could simply use one of the helper classes that come with zope, like "PersistentMapping". it emulates a dictionary and makes sure the persistence machinery gets told about changes.
jens
On 5/12/01 10:27, "florian_reiser@gmx.de" <florian_reiser@gmx.de> wrote:
Hi folks,
I've started to program a pivot table.
Therefore I've created three classes:
ZPivotTable, Row and Cell.
The ZPivotTable class contains a set of Row classes, stored in a dictionary, as well as the Row classes contain a set of Cell classes stored in a dictionary.
Now I am debugging the product and can't find the reason why the table doesn't store the rows in its dictionary.
Could you please help me finding this bug.
The source is stored under the following address: http://www.zope.org/Members/freiser/ZPivotTable/ZPivotTable-0.0.tar.gz
Thanks
Florian Reiser
-- ----------------------------------------------------------------------- | Florian Reiser PGP-Key:0x5368CF3F | | PGP-Fingerprint: 84C7 24BC F3A4 487F CBC7 692C 05DB 6E11 5368 CF3F | -----------------------------------------------------------------------
florian, as far as i know you can call superValues from DTML. it returns a list of objects. you could do something like this: <dtml-in expr="folder_name.superValues(['Meta Type 1', 'Meta Type 2'])"> <dtml-if name="sequence-start"> <select name="my_select_list"> </dtml-if> <dtml-with sequence-item only> <option value="&dtml-getId;">&dtml-title;</option> </dtml-with> <dtml-if name="sequence-end"> </select> </dtml-if> <dtml-else> <p><b>Cannot find anything!</b></p> </dtml-in> jens On 5/13/01 10:43, "florian_reiser@gmx.de" <florian_reiser@gmx.de> wrote:
jens,
thanks for your reply. It helped me a lot.
Do you have me a tip how I can get all Z SQL Methods in an selection field. I've found the superValues('Z SQL Method') function, but I'm having problems using it, because it can only be used in python.
So how can I get the result returned from this function in my dtml form?
thanx in advance
florian
jens, thank you very much for your help. Now I've only get to work out how to get the results of the query inside my Pivot table, so I can compute them. Greetings florian On Sun, May 13, 2001 at 11:22:14AM -0400, Jens Vagelpohl wrote:
florian,
as far as i know you can call superValues from DTML. it returns a list of objects. you could do something like this:
<dtml-in expr="folder_name.superValues(['Meta Type 1', 'Meta Type 2'])">
<dtml-if name="sequence-start"> <select name="my_select_list"> </dtml-if>
<dtml-with sequence-item only> <option value="&dtml-getId;">&dtml-title;</option> </dtml-with>
<dtml-if name="sequence-end"> </select> </dtml-if>
<dtml-else> <p><b>Cannot find anything!</b></p>
</dtml-in>
jens
On 5/13/01 10:43, "florian_reiser@gmx.de" <florian_reiser@gmx.de> wrote:
jens,
thanks for your reply. It helped me a lot.
Do you have me a tip how I can get all Z SQL Methods in an selection field. I've found the superValues('Z SQL Method') function, but I'm having problems using it, because it can only be used in python.
So how can I get the result returned from this function in my dtml form?
thanx in advance
florian
_______________________________________________ Zope-Dev maillist - Zope-Dev@zope.org http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )
-- ----------------------------------------------------------------------- | Florian Reiser PGP-Key:0x5368CF3F | | PGP-Fingerprint: 84C7 24BC F3A4 487F CBC7 692C 05DB 6E11 5368 CF3F | -----------------------------------------------------------------------
participants (2)
-
florian_reiser@gmx.de -
Jens Vagelpohl