Avatar billede Slettet bruger
22. juli 2002 - 22:13 Der er 21 kommentarer og
1 løsning

HeaderControl

Hmm Jeg kunne ikke finde det her på eksperten, så nu stiller jeg dette spørgsmål:

Jeg har 3 "Selections", men jeg kan ikke helt gennemskue hvordan man tilføjer noget til dem :)

Og - Er det muligt at lave en søgefunktion så den eventuelt highlighter alt som matcher søgningen, eller bare highlighter det, som der matcher mest.


Giver 30 point :)
Avatar billede nico26 Nybegynder
22. juli 2002 - 22:23 #1
Kan du ikke bruge er TListView i stedet?
Avatar billede nico26 Nybegynder
22. juli 2002 - 22:24 #2
bare set ViewStyle til vsReport, så får du kolonner
Avatar billede Slettet bruger
22. juli 2002 - 22:36 #3
okay det ser sgu ud til at virke
Avatar billede Slettet bruger
22. juli 2002 - 22:38 #4
Men hvordan laver man en søgefunktion?
Avatar billede nico26 Nybegynder
22. juli 2002 - 22:41 #5
Kan du ikke løbe Items'ne igennem, og sammenligne med det du søger
Avatar billede Slettet bruger
22. juli 2002 - 22:56 #6
Jo, sagtens :)
Men hvordan !!
Avatar billede nico26 Nybegynder
22. juli 2002 - 23:00 #7
for i := 0 to ListView1.Items.Count - 1 do
  if ListView1.Items[i].Caption = 'Et eller andet' then
    ...
Avatar billede nico26 Nybegynder
22. juli 2002 - 23:01 #8
Caption er det der står i den første kolonne. Hvis du vil på anden kolonne skal du bruge subitems

for i := 0 to ListView1.Items.Count - 1 do
  if ListView1.Items[i].SubItems[0] = 'Et eller andet' then
    ...
Avatar billede Slettet bruger
22. juli 2002 - 23:07 #9
OKay! Nu skal du bare lægge et svar, eller tager jeg fejl :)
Avatar billede nico26 Nybegynder
22. juli 2002 - 23:09 #10
et svar
Avatar billede Slettet bruger
22. juli 2002 - 23:17 #11
btw. Kan man selecte flere items ad gangen?
Avatar billede nico26 Nybegynder
22. juli 2002 - 23:19 #12
yep - set MultiSelect til True i object inspectoren :)
Avatar billede nico26 Nybegynder
22. juli 2002 - 23:19 #13
Og hvis du vil markere hele rækken, kan du sætte RowSelect til True
Avatar billede Slettet bruger
22. juli 2002 - 23:20 #14
Altså alle de items den finder, skal den selecte..
Avatar billede Slettet bruger
22. juli 2002 - 23:25 #15
Og den skal ikke søge efter noget bestemt, men fx. hvis jeg søger efter 'noget' og så er der en hvor der står noget1, så finder den noget1 :)
Avatar billede nico26 Nybegynder
22. juli 2002 - 23:25 #16
procedure TForm1.Button3Click(Sender: TObject);
var
  LI : TListItem;
  i  : Integer;
begin
  for i := 0 to ListView1.Items.Count - 1 do
  begin
    LI := ListView1.Items[i];
    if LI.Caption = 'abc' then
      LI.Selected := True;
  end;

  ListView1.SetFocus;
end;
Avatar billede nico26 Nybegynder
22. juli 2002 - 23:26 #17
så kan du vel sige

  if Pos('Noget', LI.Caption) > 0 then
    LI.Selected := True;
Avatar billede nico26 Nybegynder
22. juli 2002 - 23:29 #18
eller hvis ordet SKAL starte med 'Noget' må det være

if Pos('Noget', LI.Caption) = 1 then
    LI.Selected := True;
Avatar billede Slettet bruger
23. juli 2002 - 19:35 #19
Okay , jeg ser om jeg kan hitte ud af det, og tak for hjælpen...
Avatar billede Slettet bruger
23. juli 2002 - 19:51 #20
2 Spørgsmål mere ..

Hvordan kan man se hvad der er klikket på i en Listview
og
Hvordan adder man ting i en listview :)
Avatar billede nico26 Nybegynder
23. juli 2002 - 20:41 #21
1)

if Listview1.Selected <> nil then //hvis et item er selected
  ...

2)

var
  LI : TListItem;
begin
  LI := ListView1.Items.Add;
  LI.Caption := 'A'; //kolonne1
  LI.SubItems.Add('B'); //kolonne2
  LI.SubItems.Add('C'); //kolonne3
end;
Avatar billede Slettet bruger
24. juli 2002 - 15:23 #22
Tak igen :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester