actualizar grid da pantallazo
Publicado por Ángel I. (86 intervenciones) el 10/06/2006 22:25:08
Hola a todos:
Tengo un grid que como origen de datos toma un cursor creado con una sentencia sql. Cada vez que cambio la sentencia sql (solo afecta al order by) el grid se descompone.
Para ello he creado un método en el formulario llamado actgrid (actualiza grid) en el cual le indico los colores, headers, datos....:
*metodo actgrid: recompone el grid
thisform.grid1.column1.ControlSource='ccur.cliente_id'
thisform.grid1.column2.ControlSource='ccur.empresa'
thisform.grid1.column3.ControlSource='ccur.rotulo'
thisform.grid1.column4.ControlSource='ccur.provincia'
thisform.grid1.column5.ControlSource='ccur.poblacion'
thisform.grid1.column6.ControlSource='ccur.telefonos'
*
thisform.grid1.column1.FontBold=.t.
thisform.grid1.column2.FontBold=.t.
*
thisform.grid1.column1.header1.Caption="Nº cliente"
thisform.grid1.column2.header1.Caption="Empresa"
thisform.grid1.column3.header1.Caption="Rótulo"
thisform.grid1.column4.header1.Caption="Provincia"
thisform.grid1.column5.header1.Caption="Población"
thisform.grid1.column6.header1.Caption="Teléfonos"
*
thisform.grid1.column1.BackColor=RGB(221,245,251)
thisform.grid1.column2.BackColor=RGB(221,245,251)
thisform.grid1.column3.BackColor=RGB(202,223,247)
thisform.grid1.column4.BackColor=RGB(214,228,197)
thisform.grid1.column5.BackColor=RGB(226,236,214)
thisform.grid1.column6.BackColor=RGB(235,235,235)
*
thisform.grid1.column1.Width=56
thisform.grid1.column2.Width=184
thisform.grid1.column3.Width=99
thisform.grid1.column4.Width=99
thisform.grid1.column5.Width=111
thisform.grid1.column6.Width=135
*
thisform.grid1.Refresh
*******
Desde el programa hago una nueva sentencia SQL, y llamo al método :
thisform.actgrid()
Ahora viene el problema y es que cada vez que hago esto el grid da un pequeño pantallazo, como si se moviese y volviesen a su sitio las columnas .....nada elegante....
1.- ¿Cómo puedo resolver ese pantallazo?
2.- ¿Hay otra forma de hacer sentencias SQL y ponérselas al Grid sin que este se descomponga?
Gracias por adelantado.
Un cordial saludo.
Ángel.
Tengo un grid que como origen de datos toma un cursor creado con una sentencia sql. Cada vez que cambio la sentencia sql (solo afecta al order by) el grid se descompone.
Para ello he creado un método en el formulario llamado actgrid (actualiza grid) en el cual le indico los colores, headers, datos....:
*metodo actgrid: recompone el grid
thisform.grid1.column1.ControlSource='ccur.cliente_id'
thisform.grid1.column2.ControlSource='ccur.empresa'
thisform.grid1.column3.ControlSource='ccur.rotulo'
thisform.grid1.column4.ControlSource='ccur.provincia'
thisform.grid1.column5.ControlSource='ccur.poblacion'
thisform.grid1.column6.ControlSource='ccur.telefonos'
*
thisform.grid1.column1.FontBold=.t.
thisform.grid1.column2.FontBold=.t.
*
thisform.grid1.column1.header1.Caption="Nº cliente"
thisform.grid1.column2.header1.Caption="Empresa"
thisform.grid1.column3.header1.Caption="Rótulo"
thisform.grid1.column4.header1.Caption="Provincia"
thisform.grid1.column5.header1.Caption="Población"
thisform.grid1.column6.header1.Caption="Teléfonos"
*
thisform.grid1.column1.BackColor=RGB(221,245,251)
thisform.grid1.column2.BackColor=RGB(221,245,251)
thisform.grid1.column3.BackColor=RGB(202,223,247)
thisform.grid1.column4.BackColor=RGB(214,228,197)
thisform.grid1.column5.BackColor=RGB(226,236,214)
thisform.grid1.column6.BackColor=RGB(235,235,235)
*
thisform.grid1.column1.Width=56
thisform.grid1.column2.Width=184
thisform.grid1.column3.Width=99
thisform.grid1.column4.Width=99
thisform.grid1.column5.Width=111
thisform.grid1.column6.Width=135
*
thisform.grid1.Refresh
*******
Desde el programa hago una nueva sentencia SQL, y llamo al método :
thisform.actgrid()
Ahora viene el problema y es que cada vez que hago esto el grid da un pequeño pantallazo, como si se moviese y volviesen a su sitio las columnas .....nada elegante....
1.- ¿Cómo puedo resolver ese pantallazo?
2.- ¿Hay otra forma de hacer sentencias SQL y ponérselas al Grid sin que este se descomponga?
Gracias por adelantado.
Un cordial saludo.
Ángel.
Valora esta pregunta
0