Fórum Multiselect #295946

17/09/2005

0

Estou tentando ler os itens selecionados em um dbgrid, ligados ao um clientdataset, mas retorna o seguinte erro:

CdsLocacoes: Record no found


  with DBGLocacoes do
  begin
    if SelectedRows.Count > 0 then
      for i := 0 to Pred(SelectedRows.Count) do
      begin
        {posiciona nos registros selecionados do DBGrid}
        DsLocacoes.Dataset.Bookmark := SelectedRows[i];
        ShowMessage(CdsLocacoesNOMFIL.AsString);
      end;
  end;


Abs


Felipeiw

Felipeiw

Responder

Posts

17/09/2005

Rjun

Em qual linha o erro é disparado?


Responder

Gostei + 0

17/09/2005

Martins

Estou tentando ler os itens selecionados em um dbgrid, ligados ao um clientdataset, mas retorna o seguinte erro: CdsLocacoes: Record no found
  with DBGLocacoes do
  begin
    if SelectedRows.Count > 0 then
      for i := 0 to Pred(SelectedRows.Count) do
      begin
        {posiciona nos registros selecionados do DBGrid}
        DsLocacoes.Dataset.Bookmark := SelectedRows[i];
        ShowMessage(CdsLocacoesNOMFIL.AsString);
      end;
  end;
Abs


Existem realmente dados em seu Dataset / DbGrid?

fiz assim com Table utilizando tabelas do DBDEMOS e funcionou!!!
procedure TForm1.BitBtn1Click(Sender: TObject);
var
 i: Integer;
begin
with DBGrid1 do
  begin
    if SelectedRows.Count > 0 then
      for i := 0 to Pred(SelectedRows.Count) do
      begin
        {posiciona nos registros selecionados do DBGrid}
        DataSource1.Dataset.Bookmark := SelectedRows[i];
        ShowMessage(Table1Name.AsString);
      end;
  end;
end;


O mesmo funciona com o ClientDataset, não sei se vc usa (cds ou xml), mas fiz um teste aqui com Xml e funcionou blz.
procedure TForm1.BitBtn1Click(Sender: TObject);
var
 i: Integer;
begin
with DBGrid1 do
  begin
    if SelectedRows.Count > 0 then
      for i := 0 to Pred(SelectedRows.Count) do
      begin
        {posiciona nos registros selecionados do DBGrid}
        DataSource1.Dataset.Bookmark := SelectedRows[i];
        ShowMessage(Ds1Nome.AsString);
      end;
  end;
end;

Acima está o código utilizado.

Qualquer coisa, posta teu e-mail q te envio o exemplo q fiz utilizando XML.

Bos Sorte!!!

Martins


Responder

Gostei + 0

19/09/2005

Felipeiw

Existem sim dados no grid, e sempre utilizei este codigo quando eu acessava com BDE, depois que passei a usar DBExpress que nao funcionou mais.
Com xml tb consegui, mas nao consigo com clientdataset


Responder

Gostei + 0

19/09/2005

Martins

Existem sim dados no grid, e sempre utilizei este codigo quando eu acessava com BDE, depois que passei a usar DBExpress que nao funcionou mais. Com xml tb consegui, mas nao consigo com clientdataset


Muito estranho isso!!!!!

Alias esse fórum tá cheio de casos estranhos!!!


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar