Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Asignar valores a campos de una tabla en un cxGrid (https://www.clubdelphi.com/foros/showthread.php?t=80243)

cmfab 12-09-2012 01:35:56

Asignar valores a campos de una tabla en un cxGrid
 
Hola a todos, en especial a los amigos que usan las devexpress. resulta que tengo en un cxgrid una vista editable de una tabla, cuyos campos son de tipo string. en un combobox en el form tengo una serie de items que son posibles datos de los campos de mi tabla. la pregunta es: como puedo hacer una multiseleccion de celdas de la vista y al presionar un boton poder asignar a todas el valor del item seleccionado en el combobox ?

Gracias de antemano por las sugerencias

ecfisa 12-09-2012 03:55:27

Hola cmfab.

No uso devexpress, pero quizá con poco puedas adaptar este código para un TDBGrid:
Código Delphi [-]
var
  i: Integer;
begin
  if (ComboBox1.ItemIndex >= 0)and(DBGrid1.SelectedRows.Count>0) then
  begin
    for i:= 0 to DBGrid1.SelectedRows.Count-1 do
    begin
      DBGrid1.DataSource.DataSet.GotoBookmark(Pointer(DBGrid1.SelectedRows.Items[i]));
      DBGrid1.DataSource.DataSet.Edit;
      DBGrid1.DataSource.DataSet.FieldByName('tuCampo').AsString := ComboBox1.Items[ComboBox1.ItemIndex];
      DBGrid1.DataSource.DataSet.Post;
    end;
  end;
end;
Lógicamente para que funcione debe estar: DBGrid1 -> Options -> dgMultiSelect = True

Saludos.

cmfab 12-09-2012 13:46:01

Gracias ecfisa por tu respuesta, analizaré el código que propones, lo que detecto a simple vista es que la multiseleccion que aplicas parece ser para toda la fila. en mi caso, se seleccionarían x cantidad de celdas y habría que detectar el nombre del campo en cada celda seleccionada.

un saludo !!!!!


La franja horaria es GMT +2. Ahora son las 16:15:33.

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