Checklistbox item selecionado
21/01/2006
0
a medida que o usuario for clicando nos items do checklistbox ele va procurando na tabela e adiconando o valor em um Edit.
fiz assim:
[color=red:929c399f43]procedure TForm1.CheckListBox1ClickCheck(Sender: TObject);
var
i:integer;
valor: Currency;
texto: string;
begin
for i := 0 to CheckListBox1.Count-1 do
if CheckListBox1.Checked[i] then
texto := CheckListBox1.Items[i] + ´ ´;
table1.Locate(´Lastname´, texto,[]);
valor := Valor + Table1.FieldByName(´Salary´).AsCurrency;
Label1.Caption := texto + currtostr(valor);
end; [/color:929c399f43]
Mas ele so retornar o primeiro salario.
Alguem pode ajudar
Dpinho
Posts
22/01/2006
Edilcimar
22/01/2006
Aasn
a rotina ficaria assim:
procedure TForm1.CheckListBox1ClickCheck(Sender: TObject); var i : integer; valor : Currency; texto : string; begin for i := 0 to CheckListBox1.Count-1 do if CheckListBox1.Checked[i] then begin texto := CheckListBox1.Items[i] + ´ ´; table1.Locate(´Lastname´, texto, [loPartialKey, loCaseInsensitive]); valor := Valor + Table1.FieldByName(´Salary´).AsCurrency; Label1.Caption := texto + currtostr(valor); end; Application.ProcessMessages; end;
nota: o CheckListBox em questão deve conter exatamente o texto que se deseja localizar na tabela, ou seja, se vc está pesquisando o campo ´Lastname´, este deve ser o conteúdo do list, ou será necessário um tratamente na variável ´texto´ para que se possa fazer a pesquisa.
[]´s
AASN
22/01/2006
Dpinho
Agora preciso o seguinte:
Estou incializando os valores da tabela com o campo Lastname, mas preciso colocar mais tres colunas no checklistbox ficaria assim
Nome Sobrenome Salario.
Utilizo a seguinte rotina para preencher o checklistbox:
[color=red:a6d8ba04d4]procedure TForm1.FormCreate(Sender: TObject);
begin
Table1.Open;
while not Table1.Eof do
begin
CheckListBox1.Items.Add(Table1.FieldByName(´LastName´).AsString + ´ ´ +Table1.FieldByName(´FirstName´).AsString+ ´ ´Table1.FieldByName(´Salary´).AsString );
Table1.next;
end;[/color:a6d8ba04d4]
Mas dependendo do tamanho do nome fica sem formatação, tentei definir o numero de colunas, mas acontece sai a lista dos nomes tirando a barra de rolagem e gostaria que cada campo ficasse em uma coluna.
Obrigado a qualquer ajuda
22/01/2006
Edilcimar
CheckListBox1.Items.Add(Copy(Table1.FieldByName(´LastName´).AsString + ´ ´ +Table1.FieldByName(´FirstName´).AsString+ ´ ´Table1.FieldByName(´Salary´).AsString ),1,50);
eu escolhi 50 caracteres, vc escolhe quantos quiser
22/01/2006
Dpinho
Deu na mesma forma, gostaria se possivel de separar por colunas e se pudesse nomear as colunas seria ainda melhor
Obrigado
Clique aqui para fazer login e interagir na Comunidade :)