Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 21-05-2012
Chandra_ Chandra_ is offline
Miembro
 
Registrado: may 2008
Posts: 50
Poder: 16
Chandra_ Va por buen camino
Opción "Añadir..." en un DBLookupComboBox

Hola

Quisiera poner al final de los datos listados en un DBLookupComboBox la opción "Añadir nuevo...", para que el usuario, viendo que el elemento no está en la tabla, pueda añadirlo a dicha tabla para poderlo seleccionar más tarde en ese DBLookupComboBox.

Al pinchar sobre la opción "Añadir nuevo..." yo abriría por código una nueva ventana en la que se pudiera añadir un nuevo elemento a la tabla, de manera que al terminar y cerrar la ventana, ya estuviera listo y añadido el nuevo elemento dentro de la lista.

He estado mirando el TJvDBLookupCombo, que tiene una propiedad EmtyValue y tal, pero no creo que me sirva para esto que busco.

La opción cutre que siempre uso es poner un botoncillo junto al combo para añadir más elementos a la tabla que luego puedan ser seleccionados desde ese combo... pero es que hoy me he levantado creativo XD

No sé si me he explicado bien... Si alguien me ha entendido, ¿alguna idea?
Responder Con Cita
  #2  
Antiguo 21-05-2012
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 Chandra_.

Desconozco el componente TJvDBLookupCombo y si lo permita, pero el TDBLookupComboBox no está pensado para lo que deseas hacer; trabaja en relación directa con los datos existentes en un TDataSet.

Aunque no uso esa modalidad de elección/inserción, una opción con los componentes estandard es utilizar un TComboBox. Por ejemplo:
Código Delphi [-]
...
procedure TForm1.FormCreate(Sender: TObject);
begin
  ComboBox1.Clear;  // Limpiar combo
  with DataSet do  // llenar el combo 
    while not Eof do
    begin
      ComboBox1.Items.Add(FieldByName('TU_CAMPO').AsString);
      Next;
    end;
  ComboBox1.Items.Add('AÑADIR NUEVO'); // agregar opción nuevo
end;

...

procedure TForm1.ComboBox1Change(Sender: TObject);
begin
  with Sender as TComboBox do
    if ItemIndex = Items.Count-1 then  // Opción 'AÑADIR NUEVO'
    begin
      // Aquí se llamaría al código de inserción
      //...
      Items[ItemIndex]:= 'Nuevo TU_CAMPO insertado';   // valor del campo
      Items.Add('AÑADIR NUEVO'); // agregar opción al final
    end
    else
      DataSet.Locate('TU_CAMPO', Text, []); // O posicionar con una consulta...
end;
...

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 21-05-2012
Chandra_ Chandra_ is offline
Miembro
 
Registrado: may 2008
Posts: 50
Poder: 16
Chandra_ Va por buen camino
Cita:
Empezado por ecfisa Ver Mensaje
Hola Chandra_.

Desconozco el componente TJvDBLookupCombo y si lo permita, pero el TDBLookupComboBox no está pensado para lo que deseas hacer; trabaja en relación directa con los datos existentes en un TDataSet.

Aunque no uso esa modalidad de elección/inserción, una opción con los componentes estandard es utilizar un TComboBox. Por ejemplo:

[...]
Muy interesante, ecfisa. No había pensado en la posibilidad de usar una ComboBox sencilla en lugar de un componente dataware y, la verdad, me gusta mucho

Voy a probar a ver qué tal. Muchas gracias, ecfisa.
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
Cómo establecer la opción "Usuario no puede cambiar contraseña" fide_uci API de Windows 1 28-04-2011 02:29:55
Como utilizar la opción de "buscar" bbjb La Taberna 2 23-07-2008 11:43:00
Desactivar la Opcion "Nuevo", del menu contextual de windows BuenaOnda Varios 5 03-10-2007 05:43:14
Implementar una nueva opción para la propiedad "FormStyle" JM75 OOP 3 15-02-2007 15:53:44
Cambiar por código la opción "uso compartido de carpetas" en opciones de carpeta JuanErasmo API de Windows 1 09-11-2006 15:47:08


La franja horaria es GMT +2. Ahora son las 16:32:56.


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