https://foro.gambas-es.org/viewtopic.php?f=4&t=437
-----------------------------------
GambasLinux
Jueves, 18 Febrero 2010, 06:02

Como Hacer Invisible Una Columna En  ColumnView
-----------------------------------
Hola soy nuevo en el foro, y me gustria saber como hacer invisible una columna de un objeto  ColumnView, lo que hago es establecer el ancho de esa columna en 1 pero, ¿existe Visible para una columna?  


PSD:

Solo para la Columna que yo desee no para el objeto en si  ColumnView


-----------------------------------
Cubel
Jueves, 18 Febrero 2010, 08:40

Re: Como Hacer Invisible Una Columna En  ColumnView
-----------------------------------
A mi también me interesaría... Yo por ahora si es la primera pongo como ancho = 1....
Lo que también me gustaría saber es como puedo hacer para que una vez se inserten los datos, se ordenen alfabéticamente una columna que yo diga...


-----------------------------------
david
Jueves, 18 Febrero 2010, 13:15

Re: Como Hacer Invisible Una Columna En  ColumnView
-----------------------------------
cubel
 eso lo tienes que hacer en el select con el order by

select * from tabla order by idregistros

y hacer invisible yo no lo e probado pero puedes probar con visible=true 

columnview.Columns[0].visible = true

no te prometo nada haber si sale


-----------------------------------
GambasLinux
Jueves, 18 Febrero 2010, 14:37

Re: Como Hacer Invisible Una Columna En  ColumnView
-----------------------------------
[quote user="david" post="2459"]cubel
 eso lo tienes que hacer en el select con el order by

select * from tabla order by idregistros

no te prometo nada haber si sale[/quote]

Si eso creo que también se tiene claro, uno muestra sólo los campos que desea en un objeto ColumnView, ya sea por lista de campos o en una rutina de llenado.

ORDER BY IdRegistos se usa para Ordenar la consulta por el o los campos indicados ya sea en ASC o DESC pero esto no indica el orden de campos sino Orden de Registros.

Para sólo obtener los campo que se desean en una consulta debemos hacerlo asi.

SELECT IdCampo1, IdCampo2, IdCampo5, IdCampo7 FROM Tabla ORDER BY IdCampo2


IdCampos# es el nombre del Campo deseado


[quote user="david" post="2459"]

y hacer invisible yo no lo e probado pero puedes probar con visible=true 

columnview.Columns[0].visible = true

no te prometo nada haber si sale[/quote]

Las propiedades desde el punto que indicas sólo son:

Alignment
Text
W
Width


-----------------------------------
Cubel
Jueves, 18 Febrero 2010, 15:45

Re: Como Hacer Invisible Una Columna En  ColumnView
-----------------------------------
Lo de ORDER BY, ya lo se pero yo lo he probado y no me funciona, porque tengo una tabla con ID y MATRICULAS, la cuestion es que me muestre los datos ordenados por matriculas, pero cuando le pongo el order by matriculas asc en el gambas me sigue ordenándolo por ID, por eso pregunto, porque supongo que habrá alguna propiedad o algo en la tabla.


-----------------------------------
GambasLinux
Jueves, 18 Febrero 2010, 19:39

Re: Como Hacer Invisible Una Columna En  ColumnView
-----------------------------------
[quote user="Cubel" post="2467"]Lo de ORDER BY, ya lo se pero yo lo he probado y no me funciona, porque tengo una tabla con ID y MATRICULAS, la cuestion es que me muestre los datos ordenados por matriculas, pero cuando le pongo el order by matriculas asc en el gambas me sigue ordenándolo por ID, por eso pregunto, porque supongo que habrá alguna propiedad o algo en la tabla.[/quote]

Bueno el ORDER BY ya se ha salido del tema principal del post, pero bueno, seria bueno que dejaras ver el trayecto de código desde donde se genera la consulta y la vinculación de los registros al objeto columnview para poder orientarte mejor, pues lo que comentas es sencillo de hacer, también seria que verificaras si estas usando la propiedad Sorted = true este tendría que estar en false para que no haga ordenamiento de los datos vinculados al columnview, pues el ordenamiento de los datos que provienen de una consulta que llenan a un objeto columnview debe ser indicado por ORDER BY en la consulta y se puede hacer por uno o varios campos como ya sabes.


-----------------------------------
Cubel
Jueves, 18 Febrero 2010, 19:55

Re: Como Hacer Invisible Una Columna En  ColumnView
-----------------------------------
ok pues voy a probar lo de Sorted, y bueno mi consulta desde un principio ya la hacia con el ORDER BY, porque lo haces en mysql y si que me lo trae en ese orden pero en gambas no... probare esto y ahora digo algo. Gracias!

_____________
EDITADO
---------------

Gracias ya lo he probado y si, poniendo "nombreDelColum.Sorted = FALSE" me toma la orden que yo le doy a trabes de mysql.
Ahora falta solucionar lo de como poner una columna en invisible ya que la solución que podido aportar es un poco chapuza pero que igual le libre del paso igual como me esta librando a mi.


-----------------------------------
soplo
Viernes, 19 Febrero 2010, 05:29

Re: Como Hacer Invisible Una Columna En  ColumnView
-----------------------------------
Claro. Si tienes puesto sorted estas diciendo que ordene lo que venga y si le entregas algo ordenado de una forma pues te lo ordena de otra.

Lo mejor es ordenar en la query mediante order by y te quitas de lios.

Respecto a ocultar columna que yo sepa no se puede. Se me ocurren dos soluciones.
una crear una clase que herede un columnview y que le añada una propiedad X) donde almacenas el valor que quieres para cada fila. llamas a un método de esa clase y te devuelve el valor introducido.

La otra cosa es llevar un array aparte y almacenar los datos. El primer item es el valo de la primera fila. El segundo item el de la segunda fila, ..., etc. Así que para saber el valor que buscas mirarías el valor en la array de row


-----------------------------------
ahtonio
Lunes, 22 Febrero 2010, 19:48

Re: Como Hacer Invisible Una Columna En  ColumnView
-----------------------------------
Hola, no se si funcionara igual, pero en un tableview, en la columna 0 yo mantengo el id de la tabla y es es valor por el que busco los datos en el result. No le aporta nada al usuario y la oculto dandole un ancho de 0, no obstante puedo hacer referencia a ella. Si la haces invisible, es posible que no puedas referenciarla. Por tanto, yo probaria a hacer lo que estas haciendo pero con una anchura de 0

columnview.Columns[0].width = 0

En teoria no se deberia de ver.

Un saludo


-----------------------------------
Cubel
Lunes, 22 Febrero 2010, 19:50

Re: Como Hacer Invisible Una Columna En  ColumnView
-----------------------------------
Yo voy a probarlo, aunque en su dia lo probe y me pillaba ancho por defecto es decir automático. Lo que pasa que no se si es porque lo puse mal, y poniendo 0 no se vera, o porque si pones 0 te pone el valor mínimo para que quepa el nombre que escribes como titulo de la columna.


-----------------------------------
GambasLinux
Martes, 23 Febrero 2010, 02:23

Re: Como Hacer Invisible Una Columna En  ColumnView
-----------------------------------
[quote user="ahtonio" post="2554"]Hola, no se si funcionara igual, pero en un tableview, en la columna 0 yo mantengo el id de la tabla y es es valor por el que busco los datos en el result. No le aporta nada al usuario y la oculto dandole un ancho de 0, no obstante puedo hacer referencia a ella. Si la haces invisible, es posible que no puedas referenciarla. Por tanto, yo probaria a hacer lo que estas haciendo pero con una anchura de 0

columnview.Columns[0].width = 0

En teoria no se deberia de ver.

Un saludo[/quote]


En 0 si se ve para que no se vea tiene que estar en 1

columnview.Columns[X].width = 1


