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.