Q&A

  • DBGrid 에서 몇가지 질문..꼭 봐주세요
데이타를 입력할때 DBGrid의 맨 아랫부분에 입력이 되잖아요.

그런데 입력된 데이타가 많을 경우에는 화면상에 보이지 않아서요.

입력된 데이타부분에 포커스가 가게 하려면 어떻게 해야하나요?

즉 맨 아래로 포커스가 가니까 화면이 위로 올라가는 느낌이 드는거겠죠???



그리고 데이타를 조회한 후에 DBGrid의 내용이 처음 폼 만들어 졌을때의 데이타가 나오게끔 하려면 어떻게 해야하나요?



꼭 알려주시기 바랍니다..





2  COMMENTS
  • Profile
    HART 2000.06.16 19:05
    먼저 Table이란 TQuery 조금 처리하는 것이 다름...



    먼저 각 사항들 만들면

    1 리스트를 선택하여 수정하는 경우 ...

    TBookmark라는 명령을 사용합니다..

    제일 빠르 방법 같음.. 단 주의 할 점 추가나 삭제.. 시는 사용하지 말것..

    위치 정보가 정확하지 안음..



    2. 리스트에 추가 하는 경우..

    Table인 경우 loaction 라는 함수 사용 그 위치는 찾는다. 만약 인덱스가 있으면 인덱스 사용합 보통 프라임키로 검색하니까? 별 문제는 없을 것 같음..



    Query인 경우 findfirst라는 함수를 사용하여 검색합니다. 만약 건수 많은 경우는 사용하지 말것(많은 기준은 대충 2000~3000 이상 정도 확실하지 안음) * 사설 Qurey에서는 location이라는 함수가 사용 가능하지 몰라요.. 한번 해보세요.. )



    3. 리스트에 삭제 하는 경우

    Table인 경우 그냥 delete 명령어로 사용하니 별 문제 없고..

    Query인 updateSql를 사용하면 table를 사용하는 것와 같고

    만약 그냥 디비를 다시 오프하면 위치 찾기가 조금은 어려습니다.. 어떤 기준이 있는 경우

    는 가능하지만 그것도 어느 정도 불안함..



    그럼 수고하세요..





    초보에서벗어나자 wrote:

    > 데이타를 입력할때 DBGrid의 맨 아랫부분에 입력이 되잖아요.

    > 그런데 입력된 데이타가 많을 경우에는 화면상에 보이지 않아서요.

    > 입력된 데이타부분에 포커스가 가게 하려면 어떻게 해야하나요?

    > 즉 맨 아래로 포커스가 가니까 화면이 위로 올라가는 느낌이 드는거겠죠???

    >

    > 그리고 데이타를 조회한 후에 DBGrid의 내용이 처음 폼 만들어 졌을때의 데이타가 나오게끔 하려면 어떻게 해야하나요?

    >

    > 꼭 알려주시기 바랍니다..

    >

    >

  • Profile
    nilriri 2000.06.16 18:36
    > 데이타를 입력할때 DBGrid의 맨 아랫부분에 입력이 되잖아요.

    query1에 updatesql이 연결되어있고..

    query1.append라고 하면 가장 마지막줄에입력되고

    query1.insert라고 하면 현재 위치의 윗줄(?)에 입력이 됩니다.



    > 그런데 입력된 데이타가 많을 경우에는 화면상에 보이지 않아서요.

    무슨뜻인지 이해가 되지 않습니다.

    당연히 화면의 넓이는 제한적이므로 추가적으로 입력이 계속해서 이루어진다면

    당연히 위로 스크롤이 되겠죠...



    > 입력된 데이타부분에 포커스가 가게 하려면 어떻게 해야하나요?

    append나 insert시에는 현재 입력라인에 포커스가 가며..

    입력후 그리드를 다시 정렬할경우는 입력했던 키값을 저장해 두었다가

    locate를 사용해서 해당하는 곳으로 레코드 포인터를 이동하실 수 있습니다.



    > 즉 맨 아래로 포커스가 가니까 화면이 위로 올라가는 느낌이 드는거겠죠???

    >

    > 그리고 데이타를 조회한 후에 DBGrid의 내용이 처음 폼 만들어 졌을때의 데이타가 나오게끔 하려면 어떻게 해야하나요?

    레코드포인터를 말씀하시는 거라면 처음에 폼이 열린후 현재 레코드포인터를 북마크

    를 사용하여 알아 두었다가 사용하시면 될겁니다.

    getbookmark, gotobookmark, freebookmark로 도움말을 찾아보시면 예제코드가 있습니다.



    >

    > 꼭 알려주시기 바랍니다..

    >

    >