Hi everyone,
I'm about to embark on building a databound grid for my current project.
I've been told that it might be something others here are interested in. As usual, I don't want to "reinvent the wheel". I searched for something similar, but found nothing. If any of you know if something similar, please let me know.
Here's my current (basic) use case:
Build a grid based wxPython control that is able to display, modify and delete existing database records and insert new records. Each row in the grid represents a database record. The control has navigation buttons for selecting the first, previous, next and last record in the recordset as well as a button for creating a new record. Updates to the database occur when a record has changed and when the user selects a record other than the modified record. Records can be deleted by selecting the entire row and pressing the del key on the keyboard.
The data is bound to the control by supplying a python object encapsulating a DBAPI 2.0 Connection object. I plan on using a python package called ORM[1] to create these python objects.
Among others, the control class interface would include methods to set the field (column) labels and their display order
Essentially, I'd like to be able to do something like:
# Get a data set from an ORM datasource and ORM table
contacts = datasource.select(tables.contacts).fetchall()
# Add a data bound grid control
MyDbGrid(parent=self, data=contacts)
... and have the grid displayed and functional.
If any of you have input, I'd like to hear it.
Thanks,
Eric.
[1] http://www.tux4web.de/orm/
"""The Object Relational Membrane is a Python package that provides the functionality of an object relational layer like EJB or other persistence storage systems. It is a thin compatibility layer between SQL table layouts and Object Oriented Python. While providing a good deal of functionality, it tries to be as small and simple as possible."""