Q&A

  • 분류먼저 해주시길 부탁드립니다.
안녕하세요...

고민고민하다 이렇게 글을 올립니다...

TViewList에서...

데이터 검색을 하려고 합니다...

그런데... 몇개의 Record가 있는지....

또 맨첨에 한개의 레코드를 TViewList에 올리려면 현재 자료가 있는지 첨으로 등록하는 자료인지두 알아야겠구...

지금 제 머리속이 넘 복잡해서.. 정리가 잘 안돼네요...

부탁 드립니다...

TViewList에서 특정 item을 검색하는 방법좀 갈쳐주세요...

멜주소는... ckk94@hanmail.net

감사합니다...

1  COMMENTS
  • Profile
    김영대 1999.11.22 17:26
    방문자.. wrote:

    > 안녕하세요...

    > 고민고민하다 이렇게 글을 올립니다...

    > TViewList에서...

    > 데이터 검색을 하려고 합니다...

    > 그런데... 몇개의 Record가 있는지....

    > 또 맨첨에 한개의 레코드를 TViewList에 올리려면 현재 자료가 있는지 첨으로 등록하는 자료인지두 알아야겠구...

    > 지금 제 머리속이 넘 복잡해서.. 정리가 잘 안돼네요...

    > 부탁 드립니다...

    > TViewList에서 특정 item을 검색하는 방법좀 갈쳐주세요...

    > 멜주소는... ckk94@hanmail.net

    > 감사합니다...



    // (1) 순차처리 : 순차적으로 ListView의 Item을 읽어가며 처리하는 루틴

    // 아래는 선택된 Item들을 Invert 시키는 예제입니다

    procedure TForm1.N_InvertSelectionClick(Sender: TObject);

    var

    NextItem: TListItem;

    begin

    if ListView1.Items.Count = 0 then

    System.Exit;



    NextItem := ListView1.FindCaption(0, '', True, True, False); // 처음부터 순차적으로 읽기

    while True do

    begin

    if NextItem.Selected = True then

    NextItem.Selected := False

    else

    NextItem.Selected := True;

    NextItem := ListView1.GetNextItem(NextItem, sdBelow, [isNone]);

    if (NextItem = nil) or (ListView1.Items.Count = 1) then

    Break;

    end;



    ListView1.SetFocus;

    end;



    // (2) 검색 : 임의 Item을 찾는 루틴

    procedure TForm1.N_SearchClick(Sender: TObject);

    var

    FindItem: TListItem;

    begin

    if ListView1.Items.Count = 0 then

    System.Exit;



    // Save_File 변수에는 찾고자 하는 값이 들어있다고 가정

    FindItem := ListView1.FindCaption(0, Save_File, False, True, False);

    if FindItem <> nil then

    begin

    FindItem.Selected := True;

    // keeping the focused icon in a viewable area of the ListView.

    FindItem.MakeVisible(True);

    ListView1.SetFocus;

    end;

    end;