GARANTIR DESCONTO

Fórum Criar índice no listview #356991

11/04/2008

0

Bom dia,

Minha necessidade é carregar um listview e depois ler uma tabela e vincular cada campo da tabela à um item do listview.

Para que, posteriormente, quando o usuário checkar alguns dos itens do listview, o sistema saiba qual campo que deve ser alterado na tabela, de acordo com os itens que foram checados..

Tenho duas funções, a primeira vincula o nome do campo com o item do listview, que funciona normalmente; e a segunda que busca na tabela do banco de dados quais os campos que estão com valor = ´S´ e esses campos devem ter os respectivos itens do listview checados..essa função não está funcionando....o sistema não consegue buscar o item que foi guardado na primeira função o nome do campo...

Código :

procedure TdtmCadastro.LigaListViewCampo(lvEntrada : TListView; Tabela : TClientDataSet);
var
I, J : Integer;
ListaItem : TStrings;
begin
ListaItem:=TStringList.Create;
{Vincula o campo na tabela de acessos que representa o item}
with lvEntrada do
begin
For I := 0 to Pred(Items.Count) do
ListaItem.add(lvEntrada.Items[i].Caption);
Clear;
J := 0;
For j := 0 to Pred(Tabela.FieldCount) do
if copy(tabela.Name,1,3) = ´ENT´ then
break;
for i := 0 to PRed(ListaItem.Count) do
begin
with Items.Add do
begin
Caption := ListaItem.Strings[i];
Data := PChar(Tabela.Fields[j].Name);
Inc(J);
end;
end;
end;

procedure TdtmCadastro.CarregaPermissoes(lvEntrada, lvSaida: TListView; Empresa, Filial : String);
var
I: Integer;
msn : String;
begin
{Seleciona o perfil de acesso}
ExecuteQuery(SQL,´SELECT * from PARAMETRO));

try
{Seleciona o perfil de acesso da entidade}
if not SQL.IsEmpty then
begin
LigaListViewCampo(lvEntrada, cds_Param);

{Permissoes de entrada}
with lvEntrada do
For I := 0 to Pred(Items.Count) do
Items[I].Checked := SQL.FieldByName(PChar(Items[I].Data)).AsString = ´S´;
finally
SQL.Close;
end;

Procedure ButtonClick
begin
{Vincula o campo na tabela de acessos que representa o item}
LigaListViewCampo(lswEntrada, cds_Param);

{Carrega as permissões de acesso definidas}
CarregaPermissoes(lswEntrada);

end;

Obrigado.


Andreyrf

Andreyrf

Responder

Posts

11/04/2008

Andreyrf

Já resolvido
Já resolvido


Responder

Gostei + 0

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

Aceitar