FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
listado con varios datos usando TListBox o TDBGrid
Hola a todos.
Tengo que hacer un listado de texto normal y corriente, pero q tiene varios valores en una misma linea. Ejem: Cabecera1 Cabecer2 cabecer3 ----------------------------------------- nombre1 apel1_1 apel1_2 (Lista) nombre2 apel2_1 apel2_2 .. .. nombreN apelN_1 apelN_2 En dicho listado, hay unas cabeceras puestan con un (Label normal) y separando los datos le he metidio una linea divisoria (En plan cutre) En un principio funciona bien, pero cuando cambio de un Pc a otro, con distinto sistema operativo (Win_Me, Win XP), el listado se me descontrola, en el sentido de que los datos no aparecen justo debajo de las cabeceras, tal y como tenian que aparecer. Y los datos se montan en la linea divisoria (anteriormente mencionada). Mi pregunta es. ¿como puedo hacer el listado, sin que se me salga del hueco divisorio q le doy? Los datos no estan en ninguna tabla, por lo q no he podio usar no DBGrid directamente. El tipo de letra que uso, es la Arial normal, disponible en los dos equipos. |
#2
|
|||
|
|||
Hola mrmanuel, ¿porque no pruebas mostrarlos en un ListView?
Creo que con esa componente podrías lograrlo, revisa la ayuda con relación a ella recuerdo que tiene ejemplos de como usarla. Saludos |
#3
|
|||
|
|||
Hola
Si coges la idea de Rube_cu, solo decirte que en mi web tienes una demo de como funciona dicho componente (la web en la firma) |
#4
|
|||
|
|||
Hola
no consigo echarlo a andar consigo sacar un dato en una columna, pero no se como meter otro dato en las siguientes columnas Para meter el dato en la 1ª columna de la lista hago lo siguiente: "Form.Lista_TListView.Items.Add.Caption:= Dato" y lo q obtengo es: Columna 1 Columna 2 Coumnal 3 -------------------------------------------------------- DAto1 Dato2 Dato3 ¿como puedo meter datos en las siguientes columnas? |
#5
|
|||
|
|||
Hola mrmanuel, te decía que en la ayuda habían ejemplos aqui te envio una copiado de ella, los objetos están creados en tiempo de ejecución y los textos cargados a partir de un arreglo de cadenas, pienso que puedes adecuarlo a tu caso. En cualquier caso si sigues con problemas regresa por acá.
Código:
procedure TForm1.FormCreate(Sender: TObject); const Names: array[0..5, 0..1] of string = ( ('Rubble', 'Barney'), ('Michael', 'Johnson'), ('Bunny', 'Bugs'), ('Silver', 'HiHo'), ('Simpson', 'Bart'), ('Squirrel', 'Rocky') ); var I: Integer; NewColumn: TListColumn; ListItem: TListItem; ListView: TListView; begin ListView := TListView.Create(Self); with ListView do begin Parent := Self; Align := alClient; ViewStyle := vsReport; NewColumn := Columns.Add; NewColumn.Caption := 'Last'; NewColumn := Columns.Add; NewColumn.Caption := 'First'; for I := Low(Names) to High(Names) do begin ListItem := Items.Add; ListItem.Caption := Names[i][0]; ListItem.SubItems.Add(Names[i][1]); end; end; end; |
#6
|
|||
|
|||
muchas gracias, me ha funcionado lo que queria hacer.
pero ahora tengo un problema, necesito sacar el valor seleccionado (uno de los que he cargado anteriormente) al pulsar sobre ella con el ratón con una lista norma lo hago de la siguiente manera: I:= F_Vis_Test_Exist.Lista.ItemIndex; //Indice activo de la lista Linea:= F_Vis_Test_Exist.Lista.Items.Strings[i]; pero en este tipo de lista no funciona el invento |
#7
|
|||
|
|||
Hola , en este caso la filosofía cambia un poco, si quieres extraer los valores pasado al ListView hay que considerar que esto difiere del ListBox, en este caso debes extraer cada uno de las cadenas pasadas al ListView una forma de colocarlas por ejemplo en un edit, sería;
Código:
procedure TForm1.ListView1SelectItem(Sender: TObject; Item: TListItem; Selected: Boolean); begin edit1.Text:=item.Caption+' '+item.SubItems[0]; end; Espero te complemente esta aclaración y suerte Saludos |
|
|
|