Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Cargar filas y columnas de manera dinamica en un grid (https://www.clubdelphi.com/foros/showthread.php?t=84196)

Jere_84 20-09-2013 07:18:45

Cargar filas y columnas de manera dinamica en un grid
 
hola clubdelphi, tengo un ABM en mi tesis de sistema que estoy desarrollando donde me tope con lo siguiente. Mi usuario seleccionara los talles disponibles y también seleccionara los colores que tiene en el artículo a dar de alta.
Una vez echo esto necesito cargar en una grilla filas y columnas. Donde las filas serán los talles y las columnas los colores seleccionados.
Quedaría una grid como algo asi:

Cita:

....... Rojo....... Azul....... Amarillo....... Violeta
S
M
L
XL
Luego el usuario podrá cargar en cada casillero de la grid las cantidad que tiene de c/u de los talles y colores

Cita:

....... Rojo....... Azul....... Amarillo....... Violeta
S ....... 1 ....... 2 ............. 0 .............. 1
M ....... 2 ....... 2 .............. 2 ....... ....... 1
L ....... 3 ....... 3 ............. 2 ....... ....... 3
XL ....... 0 ....... 0 ....... ....... 0 ....... ....... 1
Esto es algo que nunca hice porque siempre utilizo la JfDBGrid. La cuestión seria que alguien me de una explicación relampago de como cargar filas y columas en un componente TGrid una grilla sin conexion a BD. Luego bueno esto deberia recorrerlo calculo con dos for anidados y ir guardadando en la BD.

¿Es mucho quilombo programar esto? Ando con poco tiempo... :(

Saludos cordiales.

Casimiro Noteví 20-09-2013 09:30:03

¿Conoces el juego de los barquitos?, E3... agua, A5... tocado, A6... tocado, A7... hundido. Pues igual.
Código Delphi [-]
grid(columna,fila) := 'hola';
Empieza en (0,0)

ecfisa 20-09-2013 10:01:36

Hola Jere_84.

Como bién te dijo Casimiro, es como el juego de la guerra naval, donde accedes a cada celda dándole un índice a las columnas y otro a las filas.

Te pongo un ejemplo simple con un TStringGrid, sin ningún tipo de optimización para lograr la mayor compatibilidad posible, ya que no sé que propiedades pueda tener el control JfDBGrid.
Código Delphi [-]
const
  MAXCOLOR = 4;
  MAXTALLE = 4;
  COLORES: array [1..MAXCOLOR] of string = ('Rojo','Azul','Amarillo','Violeta');
  TALLES : array [1..MAXTALLE] of string = ('S','M','L','XL');

procedure TForm1.FormCreate(Sender: TObject);
var
  c,f: Integer;
begin
  Randomize();
  with StringGrid1 do
  begin
    ColCount  := MAXCOLOR + 1; // Cantidad de columnas
    RowCount  := MAXTALLE + 1; // Cantidad de filas
    FixedCols := 1;            // Columnas fijas (titulo col)
    FixedRows := 1;            // Filas fijas (titulo fil)
    // Encabezado de columnas
    for c := 1 to MAXCOLOR do Cells[c,0] := COLORES[c];
    // Encabezado de filas
    for c := 1 to MAXTALLE do Cells[0,c] := TALLES[c];
  end;
end;

procedure TForm1.btnLlenarClick(Sender: TObject);
var
  c,f: Integer;
begin
   // Llenar cantidades al azar
  with StringGrid1 do
    for c := FixedCols to MAXCOLOR do
      for f := FixedRows to MAXTALLE do
        Cells[c,f] := IntToStr(Random(50)+1); // (Cantidad de productos)
end;

Saludos :)


La franja horaria es GMT +2. Ahora son las 11:17:32.

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