Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 01-11-2011
Choclito Choclito is offline
Miembro
 
Registrado: jul 2004
Posts: 169
Poder: 20
Choclito Va por buen camino
Problema curioso con listview

Buenas tardes amigos del foro, como siempre el foro una gran fuente de informacion
Antes comentarles que trabajo con delpgi 7,mdo y firebird 2.1 ,
Mi intencion es llenar un listbox con un query que muestra datos de los ambientes de una una institucion, con nro asignado entonces lo lleno en un listview en su propiedad viewstyle selecciono vslist para que me muestre como una lista, si los datos exceden las dimensiones del listview entonces los datos restantes lo registra en otra columna, lo que no puedo cambiar es el ancho de las columnas pues algunos datos se ven incompletos pues ya se tiene un ancho determinado , pero no se como cambiarlo
Como siempre espero que se haya entendido el problema y estare atento a sus respuestas amigos del foro
Responder Con Cita
  #2  
Antiguo 01-11-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.057
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
¿Pero cual es la pregunta? y ¿cual es el problema curioso?
Responder Con Cita
  #3  
Antiguo 01-11-2011
Choclito Choclito is offline
Miembro
 
Registrado: jul 2004
Posts: 169
Poder: 20
Choclito Va por buen camino
gracias por responder

el problema es que no se como aumentar el ancho de la lista en el listview cuando su propiedad viewstyle es vslist, pues tengo datos del query que se muestran cortados osea si deberia mostrarse:
CONTABILIDAD -->1245 ,
se muestra CONTABILIDAD --
y el resto no muestra pues tiene un ancho definido que no se como cambiar
Espero ahora se haya entendido querido amigo Casimiro
Responder Con Cita
  #4  
Antiguo 01-11-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.057
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Ahora sí lo he entendido
Voy a probar con vslist, no recuerdo haberlo usado antes.
Responder Con Cita
  #5  
Antiguo 01-11-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.057
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Creo que no lo he comprendido por completo, ya que he hecho una prueba y no se corta el contenido de ningún elemento.

Responder Con Cita
  #6  
Antiguo 01-11-2011
Choclito Choclito is offline
Miembro
 
Registrado: jul 2004
Posts: 169
Poder: 20
Choclito Va por buen camino
continuando

Claro no hay problema pero si aumentas el ancho y reduces el alto del listview el tercer item tendria que formar una segunda columna,como hago pa[ra que ne muestre ademas , aumento el tamaño del font y me muestra cortada las columnas,
Seguire intentando amigo , gracias por tu comentario
Responder Con Cita
  #7  
Antiguo 01-11-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.057
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por Choclito Ver Mensaje
... si aumentas el ancho y reduces el alto del listview el tercer item tendria que formar una segunda columna...
¿Quiéres decir que automáticamente crea una segunda columna?, ¿que no la crea, y debería crear una segunda columna?, ¿que tú quieres crear una segunda columna?...

Creo que hoy ando algo espeso, voy a descansar de ordenador un rato...
Responder Con Cita
  #8  
Antiguo 01-11-2011
Choclito Choclito is offline
Miembro
 
Registrado: jul 2004
Posts: 169
Poder: 20
Choclito Va por buen camino
Nuevamente

bueno lo que hice es lo siguiente tengo un listview entonces le puse su propiedad aling en button , luego en su propiedad font le aumente a 16 , y reduje su alto mas o menos para que ingrese tres filas de datos ,
ahora cargo el listview con los datos de la consulta que son 6 registros, entonces al cargar en el listview los primeros 3 los registra pero con un ancho que no se como cambiar y los otros 3 registros los muestra como si hubiera generado otra columna dentro del listview.
Lo que no se es como cambiar el ancho de las columnas que se generar pues los datos los muestra cortados
Lo que quiero que se muestre es
CONTABILIDAD ===> 124545 ESTADISTICA ====>12145
GERENCIA ====>121215454 ADMINISTRACION===>454545
lo que me muestra es:
CONTABILIDAD ==.... ESTADISTICA ==.....
GERENCIA ===>....... ADMINISTRACION.....
Gracias por los comentarios
Responder Con Cita
  #9  
Antiguo 01-11-2011
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
No veo el problema

Pon en un formulario un TListView y esto:
Código Delphi [-]
procedure TForm1.FormCreate(Sender: TObject);
begin
  ListView1.Align:= alClient;
  ListView1.ViewStyle:= vsList;
  ListView1.AddItem('CONTABILIDAD ===> 124545', nil);
  ListView1.AddItem('ESTADISTICA ====>12145', nil);
  ListView1.AddItem('GERENCIA ====>121215454', nil);
  ListView1.AddItem('ADMINISTRACION===>454545', nil);
end;

Al cambiar el tamaño del formulario cambia el ListView. En ningún momento se amputan los textos salvo cuando es mas pequeño que ellos, en cuyo caso aparece un ScrollBar.

Saludos.
Responder Con Cita
  #10  
Antiguo 01-11-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.057
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Pensé que era yo el que no entendía, si le pones letras grandes y lo haces estrecho... pues no cabe.
Tendrás que ponerlo más ancho o ponerle letras más pequeñas.
Responder Con Cita
  #11  
Antiguo 01-11-2011
Choclito Choclito is offline
Miembro
 
Registrado: jul 2004
Posts: 169
Poder: 20
Choclito Va por buen camino
gracias por responder

MIl gracias por responder
la verdad que esta linea no la considere
ListView1.ViewStyle:= vsList;
lo tenia ya cambiado, gracias ya encontre como solucionarlo
Ahora bien realizar cambios me ocaciono cambios al pintar el listview
tengo el siguinte codigo para cargar al listview:
Código Delphi [-]
procedure TF_Principal.Button1Click(Sender: TObject);
var
AItem: TListItem;
begin
mdoq_listado.Close;
mdoq_listado.ParamByName('f1').AsDate:=now;
mdoq_listado.ParamByName('f2').AsDate:=now;
mdoq_listado.Open;
ListView1.Clear;
mdoq_listado.First;
while not mdoq_listado.Eof do
begin
  AItem := ListView1.Items.Add;
  aitem.Caption:=mdoq_listado.Fields[3].AsString;
  aitem.SubItems.Add(mdoq_listado.Fields[2].AsString);
 mdoq_listado.Next;
end;
//listview1.ViewStyle:=vsicon;
//ListView1.ViewStyle:=vslist;
end;
tengo la propiedad ownerdrag en true;
tengo el siguiente codigo en uno de los eventos
Código Delphi [-]
procedure TF_Principal.ListView1CustomDrawSubItem(Sender: TCustomListView;
  Item: TListItem; SubItem: Integer; State: TCustomDrawState;
  var DefaultDraw: Boolean);
begin
if item.SubItems[0]='C2' then
sender.Canvas.Brush.Color:=clred
else
sender.Canvas.Brush.Color:=clWindow;
end;
antes de hacer los cambios con esto del ancho de las columnas daba pues el item que tenia subiten igual a C2 me mostraba de rojo ahora no da
prove con lo siguiente:
Código Delphi [-]
procedure TF_Principal.ListView1CustomDrawItem(Sender: TCustomListView;
  Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
if item.Caption='RAYOS X--->58620' then
sender.Canvas.Brush.Color:=clred
else
sender.Canvas.Brush.Color:=clWindow;
end;
y da pero no entiendo porque no da cuando comparo con el subitem ,prove mostrando el subitem en el evento onclick y me muestra el dato
Cual seria el problema o que me falta para que cuando compare con el subitem me cambie de color al item
LO curioso es que daba y ahora noooo, en que me puedo estar equivocando????? , comentarles tambien que inclui otro listview pero aun eso no da
Gracias por las ayudas
Responder Con Cita
  #12  
Antiguo 02-11-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Choclito.

Creo entender que buscas que el valor de la propiedad Caption del Item aparezca pintado cuando el valor del SubItem cumpla determinada condición.
Si te entendí bien, entonces creo que tendrías que hacer la evaluación en el evento OnCustomDrawItem, por ejemplo:

Código Delphi [-]
procedure TForm1.ListView1CustomDrawItem(Sender: TCustomListView;
  Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
  if Item.SubItems[0] = 'C2' then
  begin
    Sender.Canvas.Brush.Color:= clRed;
    Sender.Canvas.Font.Color:= clWhite;
  end;
end;


Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #13  
Antiguo 02-11-2011
Choclito Choclito is offline
Miembro
 
Registrado: jul 2004
Posts: 169
Poder: 20
Choclito Va por buen camino
Gracias

muchas gracias amigo por el post, lo probare pero cuan desesperado estaba lo cambie con un dbgrid
Mi intencion es hacer un sistema de colas y es por eso que queria mostrar los datos en un tlistview en la parte inferior del formulario, lo cambie con un dbgrid que lo puse al extremo derecho del formulario
NUevamente preguntando a los amigos de foro:
MI pregunta es: puedo cambiar los colores de las celdas de un dbgird desde un boton ?? que codigo tendria que colocar
Bueno tengo lo siguiente::
Código Delphi [-]
procedure TF_Egreso_Med_Q.DBGrid2DrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumn;
  State: TGridDrawState);
begin
if column.Index=2 then
begin
    if gdFocused in State then begin
    DBGrid2.Canvas.Brush.Color := clyellow;    // Color que quieras que tenga el fondo si la línea tiene foco;
      DBGrid2.Canvas.Font.Color  := clblue;   // Color del Font que quieras que tenga si la línea tiene foco
        dbgrid2.Canvas.Font.Size := 10;
        dbgrid2.Canvas.Font.Style := [fsBold]

    end;
    end;
      if MDOQ_Med_Q.FieldByName('valor').AsString='N' then
  begin
  dbgrid2.Canvas.Brush.Color:=clred;
  dbgrid2.Canvas.Font.Color:=clblack;
  end;
     if MDOQ_Med_Q.FieldByName('valor').AsString='F' then
  begin
  dbgrid2.Canvas.Brush.Color:=clyellow;
  dbgrid2.Canvas.Font.Color:=clblack;
  end;
  dbgrid2.DefaultDrawColumnCell(Rect,Datacol,Column,State);

end;
pero esto es un evento del dbgrid
lo que quisiera es desde un boton o un event en el form
Espero haber sido entendido y estare atento a sus comentarios amigos del foro
PD:era necesario abrir otro post???
Responder Con Cita
  #14  
Antiguo 02-11-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Choclito.

Cita:
PD:era necesario abrir otro post???
Si no te incomoda hacerlo, te lo agradecería. De ese modo es más fácil que otros compañeros encuentren respuesta a un problema similar cuando realizen las búsquedas.

Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #15  
Antiguo 02-11-2011
Choclito Choclito is offline
Miembro
 
Registrado: jul 2004
Posts: 169
Poder: 20
Choclito Va por buen camino
mil disculpas

Disculpas por la torpeza, lo hare inmediatamente
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Problema con ListView angelp4492 Varios 2 21-12-2007 10:52:04
Problema con ListView angelp4492 Varios 1 21-12-2007 06:06:06
Curioso problema con Windows Vista al usar paquetes rolandoj Varios 2 19-11-2007 22:28:00
problema con listview cristian_abb Varios 2 22-06-2006 16:47:12
Problema con ListView Magneto Varios 2 18-07-2003 15:55:39


La franja horaria es GMT +2. Ahora son las 00:10:28.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi