Ver Mensaje Individual
  #1  
Antiguo 26-11-2008
Avatar de paladincubano
paladincubano paladincubano is offline
Miembro
 
Registrado: jul 2007
Posts: 147
Reputación: 17
paladincubano Va por buen camino
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.

Última edición por paladincubano fecha: 26-11-2008 a las 14:27:40.
Responder Con Cita