IloChab escribió:
2008/2/26, Linos <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>:
IloChab escribió:
> I'm using the couple QTableView+QSqlQueryModel.
>
> I was wondering if it's possible to extend the table with some
columns
> not contained in the relation but computed on the fly from the
application.
>
> If it's possible I'd like to know how, because I made some tests
without
> any success.
>
> Thank you in advance.
> ciao
> Licia
>
>
>
------------------------------------------------------------------------
>
> _______________________________________________
> PyQt mailing list [email protected]
<mailto:[email protected]>
> http://www.riverbankcomputing.com/mailman/listinfo/pyqt
Hi,
if the values are from computed from database columns values you can
do in the sql select, if you need to post
any other information not generated from sql i think you will have
to subclass the model and reimplement the
data method.
Yes, this was what I thought to do, but I wasn't able to let me call on
column numbers over the last from my db table.
So I searched for a method to tell the table header that it was bigger
than the table columns number but I didn't find anything useful
Perhaps I have to create a temporary table just to contain the new
columns? But this will be a big waste of db space.
Or I have to manage the table all by my self, extracting data from the
relation and then adding the new calculated columns, but in this way
I'll loose all the model/view features!!
I guess there must be a better way.
Regards,
Miguel Angel.
Ciao
Licia
Hi,
I think i am not understanding well the problem, with qsqlquerymodel you can do
anything like this:
model.setQuery(QString("SELECT INVOICE_NUMBER, CUSTOMER, TOTAL_INVOICE, TAX_INVOICE, TOTAL_INVOICE+TAX_INVOICE
FROM INVOICE"), dbconnection)
and the "TOTAL_INVOICE+TAX_INVOICE" should be the fifth, depending on the database you are using you could use
many other functions to string formatting for example inside the select query, you can develop your own
functions if you any not supported by your database, other way could be create a model where you load in a
python object the data you retrieve from a database and other information you want to manipulate/show, and
call it with the model data method, i am using this now and works very well, i have inside the model a list of
python objects, every line is a object and the class for this objects only have the atributes i retrieve from
database (i maintain them in QVariant after database retrieve to avoid innecesary type transformations because
i have to retrieve in this type from the model data method to tableview), this way you can manipulate that
you retrieved like you want and use the model/view.
_______________________________________________
PyQt mailing list [email protected]
http://www.riverbankcomputing.com/mailman/listinfo/pyqt