Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Agregar en tiempo de ejecucion (https://www.clubdelphi.com/foros/showthread.php?t=67697)

sizne 30-04-2010 20:13:47

Agregar en tiempo de ejecucion
 
Hola...pueden guiarme por favor como puedo hacer lo siguiente?
Tengo un campo CarreraE:TDBComboBox relacionado con la tabla de SQL Server, en su sector Properties-Items ya tengo introducido una varios nombre de carreras, pero si quisiera agregarlas en tiempo de ejecucion y que se guarden, como lo haria? para una posterior utilizacion?

Lo que me permite es escribir en el campo,pero para una siguiente ya no me muestra en el DBComboBox la informacion que escribi, solo las que ya tenia definida antes de la ejecucion, espero me entiendan...

Gracias

Caral 30-04-2010 22:02:49

Hola
El DBCombobox trabaja igual que un DBedit, recibe los campos de la BD.
Un dbedit te permite escribir, pero si no se edita y se hace un post no se guardara, lo mismo le pasa al dbcombobox.
No entiendo la parte de en ejecucion.
Saludos

sizne 30-04-2010 23:17:49

Hola Caral,
Me refiero a que quiero que se me agregue a mi lista, cuando se despliega el DBcomboBox, ya tengo informacion en el DBComboBox, pero eso la hice al momento de programar...yo quiero que se me aumente mi lista si no encuentro en la lista desplegandolo...a eso me refiero, cuando se esta ejecutando...

Gracias...

ecfisa 01-05-2010 06:36:54

Lo que dice Caral es totalmente asertado.

Para decirlo en forma simple, los controles Data Aware son representaciones visuales o 'visualizaciones' de datos almacenados en DataSets.

Cuando se escribe algo en un DBEdit, DBComboBox, DBGrid, etc., en realidad se está escribiendolo en el DataSet asociado al control Data Aware.

Agregar el nuevo valor al Combo no es complicado:
Código:

  with DBComboBox1 do
    Items.Add(Table1.FieldByName(DataField).AsString);

Sin embargo el resto no es tan sencillo...

Antes de agregar el valor al Combo, tenes que verificar que no exista en la lista, sin olvidar que estas escribiendo a la vez en el DataSet...
O sea que además tenés que hacerle "lugar" en la Tabla con Append, o estarías sobreescribiendo datos.
El evento OnSetText del TField asociado te va a permitir verificar si el valor está en la lista del Combo, ya que podes interceptarlo antes de guardar el valor en el DataSet.

Saludos.

sizne 01-05-2010 20:35:44

Hola ecfisa,
Gracias por la solucion. :)

Saludos!


La franja horaria es GMT +2. Ahora son las 21:02:50.

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