[prev in list] [next in list] [prev in thread] [next in thread]
List: pykde
Subject: Re: [PyQt] Question about model/view framework
From: Linos <info () linos ! es>
Date: 2008-02-27 15:55:42
Message-ID: 47C587FE.50800 () linos ! es
[Download RAW message or body]
IloChab escribió:
>
>
> 2008/2/26, Linos <info@linos.es <mailto:info@linos.es>>:
>
> 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 PyQt@riverbankcomputing.com
> <mailto:PyQt@riverbankcomputing.com>
> > 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 PyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic