Ver Mensaje Individual
  #1  
Antiguo 14-06-2018
DiegoPucho DiegoPucho is offline
Miembro
NULL
 
Registrado: ago 2017
Posts: 36
Reputación: 0
DiegoPucho Va por buen camino
Guardar Datos en un CheckListBox y dbgrid

Para continuar con mis preguntontas: ´Guardar Datos en un CheckListBox y dbgrid´. El problema es en el código.
Paso a detallar mi problema: Luego de investigar logre hacer lo siguiente: 1° Visualizar mi CheckListBox y dbgrid de la siguiente manera:
Código Delphi [-]
procedure TFrmModArt.FormCreate(Sender: TObject);
 var
  i: Integer;
 begin
  for i:= 0 to DBGridProductos.Columns.Count-1 do
  begin
    DBGridProductos.Columns[i].Visible:= true; // mostrar columna.
    CheckListBox1.Items.Add(DBGridProductos.Columns[i].Title.Caption);  // copiar título al combo
    CheckListBox1.Checked[i]:= true; // pone a todos en Checked.
  end;
Código Delphi [-]
procedure TFrmModArt.CheckListBox1ClickCheck(Sender: TObject);
begin
 with TCheckListBox(Sender) do
  begin
  DBGridProductos.Columns[ItemIndex].Visible:= not DBGridProductos.Columns[ItemIndex].Visible;
  end;
end;
Con esto se ve genial... Ya que los CheckListBox1.Checked quedan todos seleccionados y me los muestra en el dbgrid.
2° ahora se me ocurrió agregarle que guardara tanto los datos del CheckListBox y como el formato del dbgrid. de esta manera:
Código Delphi [-]
procedure TFrmModArt.BtGuarConfigClick(Sender: TObject);
begin
 DBGridProductos.Columns.SaveToFile('C:\1TProColum.cln');
 CheckListBox1.Items.SaveToFile('C:\1TProItems.cln');
 showmessage('Configuración Guardada con Exito!');
end;
3° He aquí la complicación..!! Lo muestro de la siguiente manera:
Código Delphi [-]
procedure TFrmModArt.FormCreate(Sender: TObject);
 var
  i: Integer;
 begin
  if FileExists('C:\1TProColum.cln') then
  begin
  DBGridProductos.Columns.LoadFromFile('C:\1TProColum.cln');
  CheckListBox1.Items.LoadFromFile('C:\1TProItems.cln');
  end
  else
  begin
  for i:= 0 to DBGridProductos.Columns.Count-1 do
  begin
    DBGridProductos.Columns[i].Visible:= true; // mostrar columna.
    CheckListBox1.Items.Add(DBGridProductos.Columns[i].Title.Caption);  // copiar título al combo
    CheckListBox1.Checked[i]:= true; // pone a todos en Checked.
  end;
  end;
end;
Aquí la PREGUNTONTA!!! Como hago para que me muestre lo que guarde, osea me lo muestra, pero no como yo quiero, me de selecciona todos los Checked de mi CheckListBox y quiero que me muestre como yo lo guarde, solo los Checked que guardé... Algo le falta al código que no se como hacerlo... Alguna idea??? Desde ya gracias son los mejores... Espero muy pronto poder aportar mis aprendizajes...
Responder Con Cita