Ver la Versión Completa : Copiar el valor de vario campo en un ComboBox
NISOTO
09-08-2012, 01:53:22
Hola a todos
Tengo un incombeniente haber si me pueden ayudar.
Tengo una base de datos Materias con el indice Salon, con los campos
Salon *
Materia1
Materia2
Materia3
Materia4
Materia5
Lo que necesito es copiar el valor de cada campo en un ComboBox. Todo es con InterBase.
Les agradesco haberme escuchado...
roman
09-08-2012, 01:58:08
No entiendo. ¿Esas son las columnas de una tabla? ¿Quieres un combo para cada columna? Explica mejor.
// Saludos
NISOTO
09-08-2012, 18:51:37
Claro esas son las columnas, y quiero que me muetre en 1 solo Combobox el contenido de cada columna, de un registro que yo selecccione.
Gracias,
Casimiro Notevi
09-08-2012, 18:56:15
¿En un combo el contenido de cada columna?
roman
09-08-2012, 19:04:12
Lo que no entiendo es eso de contestar con http://www.clubdelphi.com/foros/images/icons/icon13.gif. ¿Qué es lo que desapruebas de mi respuesta?
En fin, yo usaría el evento AfterScroll del dataset que tengas asociado a tu tabla, y ahí añadiría uno a uno los campos:
ComboBox1.Items.Clear;
ComboBox1.Items.Add(DataSet['Salon']);
ComboBox1.Items.Add(DataSet['Materia1']);
ComboBox1.Items.Add(DataSet['Materia2']);
etc.
// Saludos
ecfisa
09-08-2012, 19:43:04
Lo que necesito es copiar el valor de cada campo en un ComboBox
quiero que me muetre en 1 solo Combobox el contenido de cada columna, de un registro que yo selecccione.
Hola NISOTO.
De acuerdo a lo que entiendo de tus mensajes, sería:
...
procedure TForm1.FormCreate(Sender: TObject);
const
SEP = ', ';
var
i: Integer;
s: string;
begin
DataSet.Open;
ComboBox1.Items.Clear;
while not DataSet.Eof do
begin
s:= '';
for i:= 0 to DataSet.FieldCount-1 do
s:= s + DataSet.Fields[i].AsString + SEP;
SetLength(s,Length(s)-Length(SEP));
DataSet.Next;
ComboBox1.Items.Add(s);
end;
ComboBox1.ItemIndex:= 0;
end;
...
(* Código de respuesta a la selección *)
procedure TForm1.DBGrid1CellClick(Column: TColumn);
const
SEP = ', ';
var
i: Integer;
s: string;
begin
s:='';
for i:= 0 to DataSet.FieldCount-1 do
s:= s + DataSet.Fields[i].AsString + SEP;
SetLength(s,Length(s)-Length(SEP));
ComboBox1.ItemIndex:= ComboBox1.Items.IndexOf(s);
end;
...
Saludos.
roman
09-08-2012, 19:48:57
Yo recomendaría usar AfterScroll ya que no depende del control que se use para visualizar los datos.
// Saludos
ecfisa
09-08-2012, 19:52:31
Yo recomendaría usar AfterScroll ya que no depende del control que se use para visualizar los datos.
// Saludos
Hola roman.
Si estoy de acuerdo; mi intención fué sólo ejemplificar el código de respuesta al evento que el elija.
Saludos. :)
NISOTO
09-08-2012, 23:13:01
Hola a todos.
La respuesta fue acertada y me sacaron de un gran a puro.
roman diculpa lo del simbolo, me equivoque a mandar el mensaje.
El mejor foro de Delphi que he visto.
Gracias a todos...
ecfisa
09-08-2012, 23:20:43
El mejor foro de Delphi que he visto.
¡ Totalmente de acuerdo !
No puedo menos que aprovechar este mensaje para agradecer a todos los compañeros por hacer que así sea. #:-)#
Saludos :)
Casimiro Notevi
09-08-2012, 23:55:00
¡ Totalmente de acuerdo !
No puedo menos que aprovechar este mensaje para agradecer a todos los compañeros por hacer que así sea. #:-)#
Saludos :)
Gracias, entre otros, a ti mismo :)
vBulletin v3.6.8, Derechos ©2000-2024, Jelsoft Enterprises Ltd.