Q&A

  • DBGrid에서 편집,추가 상태 확인법
안녕하세요.

조금은 기쁘고, 조금은 슬프고, 조금은 시원하고, 조금은 답답함등 많은 감정을 느끼는 하루되시길 바랍니다.



DBGrid에서 커서를 제일 밑(데이터가 있는 상황에서)에서 아래화살표 키를 누르면 추가 상태가 되잖아요.

아니면 그래도 엔터를 치면 편집상태가 되고요.

그 상황에서 데이터를 입력할수가 있고요.

제가 알고 싶은것은 추가 상태이거나 편집 상태인 것을 알아내는 법입니다.

visible 속성을 False로 둔 필드가 있는데 여기에 자동으로 데이터를 넣으려고 합니다.

그래서, 추가/편집 상태를 파악해서 처리를 하려고 하는데 어떤 속성을 이용해야 하는지 잘 모르겠네요.

얼마전에 여기서 그런것을 본것 같은데 찾아도 없네요.... 좀 가르쳐 주세요.

감사합니다.







위대한 단군혼이 살아있는 나라.... 대한민국

6  COMMENTS
  • Profile
    좋은날 2000.03.27 19:17
    까마귀 wrote:

    > 안녕하세요.

    > 조금은 기쁘고, 조금은 슬프고, 조금은 시원하고, 조금은 답답함등 많은 감정을 느끼는 하루되시길 바랍니다.

    >

    > DBGrid에서 커서를 제일 밑(데이터가 있는 상황에서)에서 아래화살표 키를 누르면 추가 상태가 되잖아요.

    > 아니면 그래도 엔터를 치면 편집상태가 되고요.

    > 그 상황에서 데이터를 입력할수가 있고요.

    > 제가 알고 싶은것은 추가 상태이거나 편집 상태인 것을 알아내는 법입니다.

    > visible 속성을 False로 둔 필드가 있는데 여기에 자동으로 데이터를 넣으려고 합니다.

    > 그래서, 추가/편집 상태를 파악해서 처리를 하려고 하는데 어떤 속성을 이용해야 하는지 잘 모르겠네요.

    > 얼마전에 여기서 그런것을 본것 같은데 찾아도 없네요.... 좀 가르쳐 주세요.

    > 감사합니다.

    >

    >

    >

    > 위대한 단군혼이 살아있는 나라.... 대한민국



    Query의 Event중에서 OnNewRecord부분에 해당 값을 넣어주면 되겠습니다.



    Query1.FieldByName('invisibleField').AsString := edi_key.text;

    .

    .

    .





  • Profile
    하얀까마귀 2000.03.25 22:26
    안녕하세요 하얀까마귀 입니다.



    까악까악~~~~~~~~ 역시 동족은 좋군요...



    추가, 수정 상태는 DBGrid의 상태가 아니고 DataSet의 상태입니다...



    DBGrid.DataSource.State 의 값을 참조해 보시면 알수 있을겁니다..



    dsInsert = 추가

    dsEdit = 수정

    ... 기타등등



    그리고 지금 에디트 상태인지 아는것도 있죠...



    DBGrid.Editor // 이게 True이면 커서 입력을 받을수 있게 컬럼에 들어간 상태이고

    Editor False이면 그냥 보이기만 하는 중이죠.....



    그럼.. 즐거운 시간 보내세요..



    - 하얀까마귀 -



    까마귀 wrote:

    > 안녕하세요.

    > 조금은 기쁘고, 조금은 슬프고, 조금은 시원하고, 조금은 답답함등 많은 감정을 느끼는 하루되시길 바랍니다.

    >

    > DBGrid에서 커서를 제일 밑(데이터가 있는 상황에서)에서 아래화살표 키를 누르면 추가 상태가 되잖아요.

    > 아니면 그래도 엔터를 치면 편집상태가 되고요.

    > 그 상황에서 데이터를 입력할수가 있고요.

    > 제가 알고 싶은것은 추가 상태이거나 편집 상태인 것을 알아내는 법입니다.

    > visible 속성을 False로 둔 필드가 있는데 여기에 자동으로 데이터를 넣으려고 합니다.

    > 그래서, 추가/편집 상태를 파악해서 처리를 하려고 하는데 어떤 속성을 이용해야 하는지 잘 모르겠네요.

    > 얼마전에 여기서 그런것을 본것 같은데 찾아도 없네요.... 좀 가르쳐 주세요.

    > 감사합니다.

    >

    >

    >

    > 위대한 단군혼이 살아있는 나라.... 대한민국

  • Profile
    조규춘 2000.03.25 21:59
    결국은 dbgrid에 연결된 데이터소스 컴포너트로 그 상태를 알수 있지요!



    데이터소스 컴포넌트 속성 중에는 state라는 읽기전용 속성이 있는디

    그 종류와 의미는 대강 이렇습니다.

    dsinactive - 데이터셋이 닫혀있다.

    dsbrowse - 데이터셋이 테이블을 탐색하기 위한 모드로 연결되어 있다.

    dsedit - 테이블의 편집모드이다.

    dsinsert - 테이블에 새로운 레코드가 추가되고 있다.

    dssetkey - 데이터셋이 인덱스를 사용하여 검색하기 위한 모드이다.

    dscalcfields - 데이터셋의 oncalcfield 이벤트가 실행중이다.

    dsfilter - 필터를 사용하여 걸러내기 중이다.



    대강 이렇습니다.

    이것을 이용하면 해답이 보일겁니다.

    그럼 행복하셔요!

    단군의 혼을 사랑하는 규춘이가~* 히~



    까마귀 wrote:

    > 안녕하세요.

    > 조금은 기쁘고, 조금은 슬프고, 조금은 시원하고, 조금은 답답함등 많은 감정을 느끼는 하루되시길 바랍니다.

    >

    > DBGrid에서 커서를 제일 밑(데이터가 있는 상황에서)에서 아래화살표 키를 누르면 추가 상태가 되잖아요.

    > 아니면 그래도 엔터를 치면 편집상태가 되고요.

    > 그 상황에서 데이터를 입력할수가 있고요.

    > 제가 알고 싶은것은 추가 상태이거나 편집 상태인 것을 알아내는 법입니다.

    > visible 속성을 False로 둔 필드가 있는데 여기에 자동으로 데이터를 넣으려고 합니다.

    > 그래서, 추가/편집 상태를 파악해서 처리를 하려고 하는데 어떤 속성을 이용해야 하는지 잘 모르겠네요.

    > 얼마전에 여기서 그런것을 본것 같은데 찾아도 없네요.... 좀 가르쳐 주세요.

    > 감사합니다.

    >

    >

    >

    > 위대한 단군혼이 살아있는 나라.... 대한민국

  • Profile
    까마귀 2000.03.26 02:27
    조규춘 wrote:

    > 결국은 dbgrid에 연결된 데이터소스 컴포너트로 그 상태를 알수 있지요!

    >

    > 데이터소스 컴포넌트 속성 중에는 state라는 읽기전용 속성이 있는디

    > 그 종류와 의미는 대강 이렇습니다.

    > dsinactive - 데이터셋이 닫혀있다.

    > dsbrowse - 데이터셋이 테이블을 탐색하기 위한 모드로 연결되어 있다.

    > dsedit - 테이블의 편집모드이다.

    > dsinsert - 테이블에 새로운 레코드가 추가되고 있다.

    > dssetkey - 데이터셋이 인덱스를 사용하여 검색하기 위한 모드이다.

    > dscalcfields - 데이터셋의 oncalcfield 이벤트가 실행중이다.

    > dsfilter - 필터를 사용하여 걸러내기 중이다.

    >

    > 대강 이렇습니다.

    > 이것을 이용하면 해답이 보일겁니다.

    > 그럼 행복하셔요!

    > 단군의 혼을 사랑하는 규춘이가~* 히~

    >



    답변 감사합니다.

    그런데, 위처럼 하니까 에러가 나는데 이유를 알수가 없네요.

    않되는 콩글리쉬로 도움말까지 뒤져 봤는데, 아무이상이 없는것 같은데 에러가 나네요.

    좀 도와줘요.

    코딩은요...



    if DataModule1.Query1.State = dsInsert then

    begin

    code....

    code....

    end;



    처럼 했는데요. 이런 에러가 나네요.



    Undeclared identifier: 'dsInsert'



    dsInsert가 선언되지 않았다...뭐 이런뜻인가 본데요.

    델파이 도움말에도 이런식으로 되어 있었는데, 뭐가 문제지요?

    Query1 대신에 DataSource1도 넣어 봤는데 똑 같아요.

    부탁합니다.







    위대한 단군혼이 살아있는 나라.... 대한민국



  • Profile
    조규춘 2000.03.26 05:34
    까마귀 wrote:

    > 조규춘 wrote:

    > > 결국은 dbgrid에 연결된 데이터소스 컴포너트로 그 상태를 알수 있지요!

    > >

    > > 데이터소스 컴포넌트 속성 중에는 state라는 읽기전용 속성이 있는디

    > > 그 종류와 의미는 대강 이렇습니다.

    > > dsinactive - 데이터셋이 닫혀있다.

    > > dsbrowse - 데이터셋이 테이블을 탐색하기 위한 모드로 연결되어 있다.

    > > dsedit - 테이블의 편집모드이다.

    > > dsinsert - 테이블에 새로운 레코드가 추가되고 있다.

    > > dssetkey - 데이터셋이 인덱스를 사용하여 검색하기 위한 모드이다.

    > > dscalcfields - 데이터셋의 oncalcfield 이벤트가 실행중이다.

    > > dsfilter - 필터를 사용하여 걸러내기 중이다.

    > >

    > > 대강 이렇습니다.

    > > 이것을 이용하면 해답이 보일겁니다.

    > > 그럼 행복하셔요!

    > > 단군의 혼을 사랑하는 규춘이가~* 히~

    > >

    >

    > 답변 감사합니다.

    > 그런데, 위처럼 하니까 에러가 나는데 이유를 알수가 없네요.

    > 않되는 콩글리쉬로 도움말까지 뒤져 봤는데, 아무이상이 없는것 같은데 에러가 나네요.

    > 좀 도와줘요.

    > 코딩은요...

    >

    > if DataModule1.Query1.State = dsInsert then

    > begin

    > code....

    > code....

    > end;

    >

    > 처럼 했는데요. 이런 에러가 나네요.

    >

    > Undeclared identifier: 'dsInsert'

    >

    > dsInsert가 선언되지 않았다...뭐 이런뜻인가 본데요.

    > 델파이 도움말에도 이런식으로 되어 있었는데, 뭐가 문제지요?

    > Query1 대신에 DataSource1도 넣어 봤는데 똑 같아요.

    > 부탁합니다.

    >

    >

    >

    > 위대한 단군혼이 살아있는 나라.... 대한민국

    >



    혼을 사랑하는 규추니가 또 한번 남겨요!



    나도 혹시나 해서 한번 해봤더니 잘만 돼는디...

    혹시

    uses 에다가 데이터 모듈을 설정 안한건 아닌지....



    다시 한번 해 보셔요

  • Profile
    까마귀 2000.03.26 08:14
    > >

    >

    > 혼을 사랑하는 규추니가 또 한번 남겨요!

    >

    > 나도 혹시나 해서 한번 해봤더니 잘만 돼는디...

    > 혹시

    > uses 에다가 데이터 모듈을 설정 안한건 아닌지....

    >

    > 다시 한번 해 보셔요





    고맙습니다.

    데이터 모듈은 uses 설정이 되어 있었습니다. 몇번이고 확인을 했었지요. 모든걸...

    소스는 회사에 있어서 집에서 그냥 델파이 불러와서 데이터 모듈을 부르고, 거기에 Query 와 DataSource를 넣고 연결... 메인폼에 버튼과 에딧박스를 놓았습니다.

    그리고, 코딩을 했지요.

    if DataModule1.Query1.State = dsInsert then

    Edit1.Text := 'aa';

    DB연결도 않했고 그리드도 없기 때문에 Edit1.Text에 아무것도 나올리는 없지만 에러가 나나않나나 확인한다고 했지요.

    아니라 다를까 에러가 났습니다. 같은 에러가...

    그래서, 지푸라기라도 잡는 심정으로 메임 폼에다 Query 와 DataSource를 가져다 놓고 다시 똑같이 했습니다. 물론 테이터모듈은 뺐지요.

    아 글쎄 그랬더니 정상적으로 에러없이 되는 겁니다.

    열받아서 다시 에인폼에 Query와 DataSource를 없애고 처음처럼 하니 에러가 나지 않는 겁니다. 으아~!~~~~~

    혹시나 해서 새 어플리케이션을 열어서 다시 해봤지요.

    역시 처음에는 에러,두번째는 이상무,세번째도 이상무...

    흑~~~..... 델파이 버그인가 봐요!! ----> 이런 증상이 나만 일어났나..? 패치도 3번까지 다 했는데...

    아무튼 해결이 됐으니 다행이지만....

    많은 도움 주셔서 감사드립니다.

    꾸벅~~







    위대한 단군혼이 살아있는 나라.... 대한민국

    • 궁금이
    • 2000.03.27 18:57
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 홍세비
      2000.03.26 05:27
      궁금이 wrote: > 안녕하세요. 궁금한 점이 있어 질문 드립니다. > RichEdit말고 memo컴포넌트를 사용할 ...
    • 김성일
    • 2000.03.25 21:43
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 하얀까마귀
      2000.03.25 23:45
      안녕하세요 하얀까마귀 입니다.... 음... 이건 2가지를 하셔야 겠네요..... 첫째... 다른 어떤 콘트...
    • 까마귀
    • 2000.03.25 21:30
    • 6 COMMENTS
    • /
    • 0 LIKES
    • 좋은날
      2000.03.27 19:17
      까마귀 wrote: > 안녕하세요. > 조금은 기쁘고, 조금은 슬프고, 조금은 시원하고, 조금은 답답함등 많은 ...
    • 하얀까마귀
      2000.03.25 22:26
      안녕하세요 하얀까마귀 입니다. 까악까악~~~~~~~~ 역시 동족은 좋군요... 추가, 수정 상태는 DBGrid...
    • 조규춘
      2000.03.25 21:59
      결국은 dbgrid에 연결된 데이터소스 컴포너트로 그 상태를 알수 있지요! 데이터소스 컴포넌트 속성 중에...
    • 까마귀
      2000.03.26 02:27
      조규춘 wrote: > 결국은 dbgrid에 연결된 데이터소스 컴포너트로 그 상태를 알수 있지요! > > 데이터소...
    • 조규춘
      2000.03.26 05:34
      까마귀 wrote: > 조규춘 wrote: > > 결국은 dbgrid에 연결된 데이터소스 컴포너트로 그 상태를 알수 있지...
    • 까마귀
      2000.03.26 08:14
      > > > > 혼을 사랑하는 규추니가 또 한번 남겨요! > > 나도 혹시나 해서 한번 해봤더니 잘만 돼는디...
    • 묻지마다쳐
      2000.03.27 03:44
      텔넷으로 들어가서 명령을 실행하묜 되겠죠... -.-;; 텟넷모듈을 만들어서.. 키를 싸악...보내서... ...
    • heimdal
    • 2000.03.25 20:37
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 하얀까마귀
      2000.03.25 21:03
      안녕하세요 하얀까마귀 입니다.. 음........ 둘중에 하나만 나와요... 그러니까... 데이타셋에서 데...
    • heimdal
      2000.03.25 21:07
      하하~~글쿤여.. 음...저두 하얀까마귀님처럼 어떤 질문에도 확실한 답변을 해줄수있는 날이 빨리 왔으면...
    • 하얀까마귀
      2000.03.25 22:22
      안녕하세요 하얀까마귀 입니다. 얼마전에도 비슷한 질문을 받았던것 같은데.... 우선.. 실행하는건 O...
    • lee
    • 2000.03.25 20:17
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 홍재만
      2000.03.25 20:25
      lee wrote: > try > fDataLib.DataBase1.StartTransaction > > > 여러개의 Query 수정, 추가...
    • 이재호
    • 2000.03.25 20:09
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2000.03.25 22:15
      코드상으론 잘못된 부분이 없는데요... 먼저 DLL의 경로가 제대로 됐는가를 살펴보시구요... GetLas...
    • 혀노
    • 2000.03.25 19:48
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 김용성
    • 2000.03.25 18:59
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 구창민
      2000.03.25 20:07
      김용성 wrote: > 개발된 프로그램을 특별한 수정없이 OCX로 전환을 하여 웹상에서 OCX로 된 화면을 > 호...
    • 김영
    • 2000.03.25 15:56
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 하얀까마귀
      2000.03.25 19:20
      안녕하세요 하얀까마귀 입니다. 우선 질문1과 질문2는 전혀 다른 내용이니까 같은 에디트로 하실려면 프...
    • 궁금이
    • 2000.03.25 13:58
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이재식
      2000.03.25 18:26
      궁금이 wrote: > 안녕하세요 > 텔파이 공부한지 얼마안되는데요 > 질문의 요지는 > 며칠전 pc에다 ...
    • 궁금이
    • 2000.03.25 13:49
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2000.03.25 21:07
      델파이 팁모아에 있습니다. 찾아보세요. 궁금이 wrote: > 감사합니다 ... > 다른게 아니라 >
    • 궁금이
    • 2000.03.25 13:44
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 하얀까마귀
      2000.03.25 19:28
      안녕하세요 하얀까마귀 입니다... 우선 전역변수 설정은 그냥 unit Unit2; interface uses ...
    • 도움받은초자
      2000.11.21 22:56
      조규춘 wrote: > 안녕하십니까? > 저는 조규춘이라고 합니다. 항상 이곳에서 인스톨 쉴드에 관한 질문들...
    • 유승보
    • 2000.03.25 12:33
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 조규춘
      2000.03.25 13:30
      유승보 wrote: > 한가지 더 질문하겠습니다. > > 현재 통신을 하고 있는지 알 수 있는 방법이 있나요. ...
    • 유승보
    • 2000.03.25 12:28
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 조규춘
      2000.03.25 13:25
      안녕하십니까? 조규춘입니다. 너무나 쉬운 질문이라....? 히~! 하여간 저도 남겨 봅니다. 앞에서 강민주...