[pygtk] TreeView and CellRendererCombo - MS Access-like form
behaviour
Stéphane Brunet
stbru at teksavvy.com
Mon Apr 21 09:31:20 WST 2008
John Finlay a écrit :
> Stéphane Brunet wrote:
>> Hi,
>>
>> btw, thank you John Finlay for the answer on my last question.
>>
>> In my quest of a GUI interfacing my small database application (I did
>> try OpenOffice Base and went mad after one hour :S ) I would like to
>> copy some behaviour of MS Access in my forms.
>>
>> Say I have two (SQL) tables with two fields and one relation between
>> the two:
>>
>> ---------------- ----------------
>> | Table1 | | Table2 |
>> ---------------- ----------------
>> | Field1 (int) |<---->| Field1 (int) |
>> | Field2 (str) | | Field2 (str) |
>> ---------------- ----------------
>>
>> Now in my PyGTK form of Table1 (a TreeView), when I display the
>> Field1 in the first column, I would like to have a ComboBox which
>> displays the text associated to the integer value of Table2 (i.e.
>> Table2.Field2) rather than the value directly. However, I still want
>> it stored as an integer in Table1.Field1.
>>
>> How would you do this in an elegant manner ? Do I have to create my
>> own CellRenderer more generic than a CellRendererCombo ?
> How do you want the db info displayed in the treeview?
I think of actually displaying the content of Table1 with Field1 in the
first column and Field2 in a second column. However, Field1 wouldn't be
displayed as an integer but as a string coming from Table2. In order to
modify the content of Field1, I would like the user to select a string
(of Table2.Field2) in a CellRendererCombo rather than an integer.
> Are you planning on inserting the
> table info into a liststore or generating it on the fly?
>
I thought of using two separate ListStore to store the content of each
table. I don't know if it is the best way but I want to alter the
information in the DB only when the user has finished his modifications
in the GUI.
Stéphane
More information about the pygtk
mailing list