Multiselect

Delphi

17/09/2005

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

Curtidas 0

Respostas

Rjun

Rjun

17/09/2005

Em qual linha o erro é disparado?


GOSTEI 0
Martins

Martins

17/09/2005

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


GOSTEI 0
Felipeiw

Felipeiw

17/09/2005

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


GOSTEI 0
Martins

Martins

17/09/2005

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!!!


GOSTEI 0
POSTAR