Q&A

  • 쿼리결과값중 빠른찾기와 레코드 전체선택은 어떻게..MultiSelect의 각 레코드 값 가져오기
//======================================================
1. 쿼리를 해서 결과값이 디비 그리드에 뿌려져 있습니다...
그 결과값들 중에서 특정 값을 찾을때 빨리찾기 기능같은거 있잖아요...
예를 들어 내가 '가나다'를 찾을때 텍스트박스에 '가'만 쳐도('ㄱ'을 치는 동시에) 레코드 커서가 자동으로 '가'로 이동하는 거요...
이런건 어떻게 구현하는거죠?
좀 알려주세요...
이건 검색도 어떻게 해야할지 모르겠더라구요...
//==============================================================
2. 디비그리드 레코드 전체선택은 어떻게 하나요?
버튼을 클릭하면 현재 나와있는 디비그리드이 레코드 전체가 선택되어야 합니다.
어떻게 선택하는지요?
//===================================================================
3. 그리고 Multi로(전체 레코드가 아닌) 몇개의 레코드가 선택되어져 있을경우 그 여러개의 레코드 값들은 어떻게 가져오나요?
//====================================================================
매일 질문만 드리네요...
아는게 한개도 없어서...
하는거 마다 막히네요...
해결을 해야하는데...
부탁드립니다...
3  COMMENTS
  • Profile
    하얀까마귀 2002.06.18 21:09
    1. 찾기 기능... 이거 델파이에서 구현되어 있습니다.

    DAtaSet 에 보시면 Locate 라는 함수가 있고.. 거기에 필드명과
    찾을 값 그리고 옵션이 있습니다 옵션에서
    TLocateOption = (loCaseInsensitive, loPartialKey);
    loCaseInsensitive        Key fields and key values are matched without regard to case.

    loPartialKey        Key values can include only part of the matching key field value; for example, 'HAM' would match both 'HAMM' and 'HAMMER.'

    요렇게 있으니 쓰시면 될꺼구요..

    2. 이건 좀 그런데....

        DBGrid1.SelectedRows.CurrentRowSelected := True;
    이렇게 해주면 선택이 되거든요? 음. 이방법밖에는 모르겠네요... ^^

    3. 선택된 레코드는
    DBGrid1.SelectedRows 라는 넘이 있습니다.
    이넘 북마크죠.. 해서... 이넘을 가져 올려면..
      query1.Bookmark := DBGrid1.SelectedRows.Items[i];
      showmessage(query1.FieldByName('aaa').asString);
    요렇게 하시면 됩니다.

    그럼 즐거운 시간 되세요..

    - 하얀까마귀 -

  • Profile
    곰다방~미스김 2002.06.18 22:43
    2번 전체 선택의 경우.....
    while문을 돌리면 될거 같네염...
    -_-;
    query1.first;
    while not query1.EOF do
    begin
       DBGrid1.SelectedRows.CurrentRowSelected := True;
       query1.next;  
    end;


  • Profile
    최병희 2002.06.18 20:55
    Edit박스를 하나두고
    디비그리드에 결과값들 중에서 찾고자하는 필드의값을 지정한후
    Edit이벤트 OnChange에 아래처럼 하면 될거예요..

    ParamByName('필드명').AsString := '%' + Edit13.Text + '%';

    글구 2번과 3번은 InfoPower컴포넌트를 이용해서리 ...

    도움이 못되서 죄송.