Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #6  
Antiguo 08-09-2010
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola BPL.

Como no me gusta dejar las cosas a medias, te implemento un ejemplo.

Los componentes: 2 TDBGrid, 2 TButton, 1 TTable (Country/DBDEMOS), 1 ClientDataSet.

Para el ejemplo en ambos DBGrids esta dgMultiSelect = True.
Un botón copia al ClientDataSet y el otro obtiene todas las posiciones en la tabla de los datos copiados:

Código Delphi [-]
type
  TForm1 = class(TForm)
    tb: TTable;
    dsCtry: TDataSource;
    ClientDataSet: TClientDataSet;
    dsCDS: TDataSource;
    DBGrid1: TDBGrid;
    DBGrid2: TDBGrid;
    CDSName: TStringField;
    CDSCapital: TStringField;
    CDSContinent: TStringField;
    CDSArea: TFloatField;
    CDSPopulation: TFloatField;
    btnPasar: TButton;
    btnObtener: TButton;
    procedure FormCreate(Sender: TObject);
    procedure btnPasarClick(Sender: TObject);
    procedure btnObtenerClick(Sender: TObject);
  private
    FLstBM: TStrings;
  public
  end;

var
  Form1: TForm1;

implementation {$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  ClientDataSet.CreateDataSet;
  ClientDataSet.Open;
end;

procedure TForm1.btnPasarClick(Sender: TObject);
var
  i: Integer;
begin
  if DBGrid1.SelectedRows.Count > 0 then
  begin
    FLstBM:= TStringList.Create; // Crear lista
    with DBGrid1.DataSource.DataSet do
      for i:= 0 to DBGrid1.SelectedRows.Count -1 do
      begin
        GotoBookmark(pointer(DBGrid1.SelectedRows.Items[i]));
        FLstBM.Add(tb.Bookmark); // Guardar Bookmarks
        with ClientDataSet do
        begin
          Append;
          CDSName.Value:= tb.FieldByName('Name').AsString;
          CDSCapital.Value:= tb.FieldByName('Capital').AsString;
          CDSContinent.Value:= tb.FieldByName('Continent').AsString;
          CDSArea.Value:= tb.FieldByName('Area').AsFloat;
          CDSPopulation.Value:= tb.FieldByname('Population').AsFloat;
        end;
      end;
   end;
end;

procedure TForm1.btnObtenerClick(Sender: TObject);
var
  i: Integer;
begin
  if DBGrid2.SelectedRows.Count > 0 then
  begin
    with DBGrid2.DataSource.DataSet do
     for i:= 0 to DBGrid2.SelectedRows.Count -1 do
     begin
        GotoBookmark(pointer(DBGrid2.SelectedRows.Items[i]));
        // Aca obtenes los 'n' BookMarks de la Tabla
        tb.BookMark:= FLstBM[i];
        // A partir de aca haces lo que gustes...
        ShowMessage(tb.FieldByName('Name').AsString);
     end;
     FLstBM.Free;  // Liberar lista
  end;
end;

Saludos.

Última edición por ecfisa fecha: 08-09-2010 a las 20:57:17.
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
GotoBookMark en TClientDataSet jzginez Conexión con bases de datos 0 30-08-2006 17:11:25
Ayuda de Delphi - Gotobookmark juanchi Conexión con bases de datos 4 21-02-2004 18:43:51


La franja horaria es GMT +2. Ahora son las 20:28:59.


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
Copyright 1996-2007 Club Delphi