Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Combobox en cxGrid (https://www.clubdelphi.com/foros/showthread.php?t=61900)

paladincubano 26-11-2008 14:22:50

Combobox en cxGrid
 
Editado: perdon, creo que lo he puesto en un hilo que no era, no me habia dado cuenta, algun moderador si quiere que lo mueva a varios.

Hola Delphianos.
Tengo un cxGrid con un view tcxGridTableView (ojo no es DB)
y tengo una columna llamada Articulos de tipo Properties=ComboBox.

Dode hice la siguiente asignacion de items:

Código Delphi [-]
  LCol := ArticulosView.Columns[1];
  DM.QuerySearch.First;
  while Not DM.QuerySearch.Eof do
    begin
      TcxComboBoxProperties(LCol.Properties).Items.AddObject(DM.QuerySearch['Articulo'],TObject(Integer(DM.QuerySearch['idArticulo'])));
      DM.QuerySearch.Next;
    end;
Es asignarles los items de una tabla al combobox de la columna y su objeto no es mas que el id de ese Articulo.

Ahora, el cliente agrega a la tabla cuantos articulos el quiera y los selecciona cada uno del cxComboBox, eso sin problemas.

El problema me viene a la hora de salvar esos datos, solo necesito guardar el id del articulo seleccionado (viene siendo el Objeto del Items seleccionado)

Código Delphi [-]
  for I := 0 to ArticulosView.DataController.RecordCount-1 do
    begin
      DM.Query.Append;
      DM.Query['Contrato']:=idContrato;

      DM.Query['idArticulo']:=?????????;
     
      DM.Query['Cantidad']:=ArticulosView.DataController.Values[I,2];
      DM.Query['Precio']:=ArticulosView.DataController.Values[I,3];
      DM.Query.Post;
    end;

Normalmente yo lo hago asi:
idArticulo := Integer(cxComboBox7.Properties.Items.Objects[cxComboBox7.ItemIndex]);

pero claro, eso es de un cxComboBox normal como componente, no uno puesto en cada record del cxGrid.
He probado con muchas formas, y nada, ayuda???
Gracias por todo.

paladincubano 27-11-2008 12:54:37

Nadie me ayuda? pocos trabajais con las QuantumGrids??? :confused:

paladincubano 28-11-2008 16:18:48

Bueno, ya que veo que nadie contesta y me ayuda. Pues decirles que al menos pude resolver. Cree una columna invisible, donde pongo el ID del articulo y cuando grabo acudo a esa columna.
Es una solucion un poco mediocre cuando tengo el ID ya en el campo articulos, pero bueno, al menos resolvi.
Gracias por todo.


La franja horaria es GMT +2. Ahora son las 07:03:11.

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