[genropy] Re: modifica del nome di una colonna in modo dinamico

  • From: Giovanni Porcari <giovanni.porcari@xxxxxxxxx>
  • To: genropy@xxxxxxxxxxxxx
  • Date: Fri, 3 Feb 2017 19:14:54 +0100


Il giorno 03 feb 2017, alle ore 19:04, Luigi Renna <luigi@xxxxxxxxxxxxx> ha 
scritto:

Ho provato le modifiche alla bagGrid ma non mi fa vedere assolutamente la 
griglia, allego il programma di prova.
Ciao Luigi 


from gnr.web.gnrbaseclasses import BaseComponent
from gnr.core.gnrdecorator import public_method
from gnr.core import gnrdate
import datetime


class GnrCustomWebPage(object):
    py_requires = """public:Public,th/th:TableHandler"""

    def main(self, root, **kwargs):
        bc = root.borderContainer(height='300px')
        top = bc.contentPane(region='top')
        fb = top.formbuilder(cols=1,border_spacing='3px')
        fb.dateTextBox(value='^s_date_base',lbl='Start date')
        fb.dataController("""
            sd = sd || new Date();
            var y = sd.getFullYear();
            var m = sd.getMonth();
            for (var i=1;i<32; i++){
                d = new Date(y,m,i);
                if(d.getMonth()!=m){
                   d = null;
                }
                genro.setData('s_date_'+i,d);
            }
            """, sd='^s_date_base',_init=True)


        def struct(struct):
            r = struct.view().rows()
            r.cell('name',description='Name',width='15em',edit=True)
            for i in range(1,32):
                r.cell('day_%02i' %i, name='^s_date_%i' %i,name_format='EEE 
d',
                    hidden='^s_date_%i?=!#v' %i,dtype='N',edit=True)


        center = bc.contentPane(region='center')
        center.bagGrid(storepath='.store',title='Date 
grid',struct=struct,datapath='.mygrid',
                    addrow='auto',delrow='auto')




Credo che l'errore sia nel fatto che la grid ha un datapath ='.mygrid'.

Questo va bene se sei in un contesto dove esiste un datapath di partenza. 
Nei casi di test, il component del test assicura ad ogni test un suo spazio
con un datapath dedicato.

nel tuo caso se vuoi mantenere la cosa così, basta che tu metta:

        bc = root.borderContainer(height='300px', datapath='pincopallino')

Allora la grid avrà un datapath 'pincopallino.mygrid'.


Se guardi nel debugger del browser probabilmente in console ti trovi che 
si lamenta che non ha un path di partenza.


Semmai ripassati i datapath assoluti e relativi sulla documanetazione.



Ciao

G



Other related posts: