Q&A

  • DB Grid의 Sender??
* 사용환경 : 델파이5 / Windows 98



궁금한게 모냐면여...



DB Grid 더블클릭시 그 값들을 Edit컴포넌트에 출력을 시키는데여...



근데 그 넘의 DB Grid 어디(어떤 레코드)를 클릭했는지 어케 알져??



Sender 부분에는 TObject라고 나오는데...



더블클릭시에 "몇번째 레코드다" 라는 것을 알 수 있을까여??



그럼 코딩으로 그 이벤트를 일으킬수 있자나여...



불가능한가?? ㅡㅡ;; 답변 좀 부탁드림다...



여태 몇번 글을 올렸지만.. 저한테 한번두 답변을 안해주시는것 같애.. ㅠㅠ



3  COMMENTS
  • Profile
    좋은날 2001.04.04 21:02
    호야 wrote:

    > * 사용환경 : 델파이5 / Windows 98

    >

    > 궁금한게 모냐면여...

    >

    > DB Grid 더블클릭시 그 값들을 Edit컴포넌트에 출력을 시키는데여...

    >

    > 근데 그 넘의 DB Grid 어디(어떤 레코드)를 클릭했는지 어케 알져??

    >

    > Sender 부분에는 TObject라고 나오는데...

    >

    > 더블클릭시에 "몇번째 레코드다" 라는 것을 알 수 있을까여??

    >

    > 그럼 코딩으로 그 이벤트를 일으킬수 있자나여...

    >

    > 불가능한가?? ㅡㅡ;; 답변 좀 부탁드림다...

    >

    > 여태 몇번 글을 올렸지만.. 저한테 한번두 답변을 안해주시는것 같애.. ㅠㅠ

    >



    핵심은 dbgrid가 아니라 연결된 query/table입니다.

    dbgrid는 단지 껍데기라고 생각하시면 됩니다.



    dbgrid의 row 포커스이동시(한번클릭도 포함)마다 display해주시려면

    dbgrid와 연결된 쿼리/테이블 콤포넌트의 afterscroll event에서 사용하시면 됩니다.



    ex)

    procedure TB223.QRY_SACTAfterScroll(DataSet: TDataSet);

    begin

    edi_empno.Text := QRY_SACT.FieldByName('EMPNO').AsString;

    edi_empnm.Text := QRY_SACT.FieldByName('EMPNAME').AsString;

    end



  • Profile
    바버 2001.04.03 03:18
    procedure TForm1.DBGrid1DblClick(Sender: TObject);

    begin

    Edit1.Text := Table1.FieldByName('COL_1').AsString;

    Edit2.Text := Table1.FieldByName('COL_2').AsString;

    Edit3.Text := Table1.FieldByName('COL_3').AsString;

    Edit4.Text := IntToStr(Table1.FieldByName('COL_4').Value);

    end;



    질문이 잘 이해가 가지 않습니다...



    그냥 위에서 처럼 디비그리드의 더블클릭 이벤트에 위와 같이 코딩함 됩니다..



    호야 wrote:

    > * 사용환경 : 델파이5 / Windows 98

    >

    > 궁금한게 모냐면여...

    >

    > DB Grid 더블클릭시 그 값들을 Edit컴포넌트에 출력을 시키는데여...

    >

    > 근데 그 넘의 DB Grid 어디(어떤 레코드)를 클릭했는지 어케 알져??

    >

    > Sender 부분에는 TObject라고 나오는데...

    >

    > 더블클릭시에 "몇번째 레코드다" 라는 것을 알 수 있을까여??

    >

    > 그럼 코딩으로 그 이벤트를 일으킬수 있자나여...

    >

    > 불가능한가?? ㅡㅡ;; 답변 좀 부탁드림다...

    >

    > 여태 몇번 글을 올렸지만.. 저한테 한번두 답변을 안해주시는것 같애.. ㅠㅠ

    >

  • Profile
    호야 2001.04.03 03:37
    먼저 님의 답변 무지 감사드립니다...



    근데 님의 대답은 저두 알고 있는 사실인데여..



    제가 알고자 하는것은 여기서 인자 넘기는 부분 (Sender: TObject)는



    디비그리드를 더블클릭할때 인자를 넘겨줄거라고 생각을 하는데...



    TObject라는 속성중에 몇번째 레코드라는게 있기 때문에 그 레코드가



    디스플레이 될 수 있는거 아닐까여??



    그렇다면 그 특정 레코드를 명시적으로 적어서 아래의 프로시져를 호출하게 된다면



    이벤트(디비그리드 더블클릭)가 일어나지 않아도 특정 레코드를



    에디터에 디스플레이 시킬수 있지 않을까 해서 물어본것입니다...



    제가 모르지만 이해를 돕기 위해 이렇게 표현을 하는 수 밖에 없군여..



    특정레코드 (더블클릭할려는 레코드)가 3번째 위치해있으면



    procedure TForm1.DBGrid1DblClick(3); <---- 물론 말이 안된다는거 알지만.. ^^;;



    하여튼 이런식으루 호출을 할 수 있는 방법이 궁금하네여..



    그럼 님덜의 답변을 다시 기다리겠슴다... (--)(__)(--)





    > procedure TForm1.DBGrid1DblClick(Sender: TObject);

    > begin

    > Edit1.Text := Table1.FieldByName('COL_1').AsString;

    > Edit2.Text := Table1.FieldByName('COL_2').AsString;

    > Edit3.Text := Table1.FieldByName('COL_3').AsString;

    > Edit4.Text := IntToStr(Table1.FieldByName('COL_4').Value);

    > end;

    >

    > 질문이 잘 이해가 가지 않습니다...

    >

    > 그냥 위에서 처럼 디비그리드의 더블클릭 이벤트에 위와 같이 코딩함 됩니다..

    >



    • 류종택
      2001.04.03 04:49
      Frame은 같은 부모에서 생성되는 콤포넌트 이기 때문에 동적 생성시 Name 프로퍼티를 바꿔주는 것이 당연...
    • 쭉쭉빵빵
      2001.04.03 05:10
      적어도 리소스 적게 먹는것은 맘에 드네요. 98에서 리소스와 한판 전쟁을 하고 있거든요. 류종택 wro...
    • 최용일
      2001.04.03 22:25
    • 이석현
      2001.04.04 00:57
    • 최용일
      2001.04.04 01:54
    • 이석현
      2001.04.04 04:31
    • 최용일
      2001.04.04 21:02
    • 초보
    • 2001.04.03 03:47
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 임정영
      2001.04.03 19:58
      흐흠..... 아마도 맞는지는 몰라도 메모리 에러인듯! 혹시 activex ocx 에서 여러 창을 여신다면 종료시...
    • 초보
      2001.04.04 02:47
      임정영님!! 그럼 메모리를 free 시키는 방법도 갈켜주셔야죵~~~ 부탁합니다.. 임정영 wrote: > 흐흠....
    • 임정영
      2001.07.05 16:55
      잘 알지도 못하는데 제 경험을 토대로 몇자 적어 보겠습니다. 먼저 ActiveX에서는 Tform을 Auto Create...
    • 준초보
    • 2001.04.03 03:10
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 쭉쭉빵빵
      2001.04.03 03:38
      procedure Tform1.TreeView1Click(Sender: TObject); begin TreeView1.Selected
    • 조복기
      2001.04.03 13:04
      문법에러이니만큼 어떤 RDB를 사용하며 어떤 SQL문인지 같이 올려주셨음 하네여.. 이윤선 wrote: > ...
    • 이윤선
      2001.04.03 13:05
      소스이구여...DB는 ADO객체를 사용했거든여... unit Unit1; interface uses Windows, Messages...
    • 조복기
      2001.04.03 13:05
      제가 보기엔 SQL문 대입시(add) 앞줄과 뒷줄의 띄워쓰기 문제같거든여.. insert문을 예로 들때 이름과 ...
    • 김명찬
    • 2001.04.03 03:06
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 류종택
      2001.04.03 04:40
      Main Menu --> Tools --> Invironment Options 화면에서 Autosave Options 에서 Editor Files를 선택...
    • 호야
    • 2001.04.03 02:26
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 좋은날
      2001.04.04 21:02
      호야 wrote: > * 사용환경 : 델파이5 / Windows 98 > > 궁금한게 모냐면여... > > DB Grid 더블클릭...
    • 바버
      2001.04.03 03:18
      procedure TForm1.DBGrid1DblClick(Sender: TObject); begin Edit1.Text := Table1.FieldByName('COL_1...
    • 호야
      2001.04.03 03:37
      먼저 님의 답변 무지 감사드립니다... 근데 님의 대답은 저두 알고 있는 사실인데여.. 제가 알고자 ...
    • 이창완
    • 2001.04.03 13:08
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 홍세비
      2001.04.03 13:08
      안냐세요. 홍세빕니다. hello.exe 파일이 있는 폴더의 권한이 '실행'으로 되어있는지 확인해 보세요. ...
    • 이창완
      2001.04.03 02:39
      홍세비 wrote: > 안냐세요. 홍세빕니다. > > hello.exe 파일이 있는 폴더의 권한이 '실행'으로 되어있...
    • 류종택
      2001.04.03 13:17
      MIDAS를 사용하세요!! 감사혀 wrote: > Database를 한번 Connect해놓고 여러 실행파일에서 접속하여 사...
    • 감초
      2001.04.03 03:41
      저는 전에 게임방 프로그램에서 접속된 Client들의 IP를 알아낼때 서버에서 Edit1.text := Socket.Remote...
    • 임정영
      2001.04.03 20:01
      저도 미들웨어(Remote Data Module)에서 아래와 같이 어떤 클라이언트가 붙어 있는지 확인하고 제어 했는...
    • 강동희
    • 2001.04.03 00:15
    • 5 COMMENTS
    • /
    • 0 LIKES
    • hobakpa
      2001.04.03 01:05
      강동희 wrote: > 사용할 db는 파라독스 타입의 trans.db입니다. > > trans.DB는 Query1컴포넌트에 연...
    • 강동희
      2001.04.03 03:30
      hobakpa wrote: > 강동희 wrote: > > 사용할 db는 파라독스 타입의 trans.db입니다. > > > > trans.D...
    • hobakpa
      2001.04.03 04:05
      > 질문한 '강동희' 인데요... > Price필드의 검색은===> 범위(Range)를 주었거던요.... > 그래서,,, 다...
    • 쭉쭉빵빵
      2001.04.03 03:55
      price 가 numeric이라고 가정합니다. var s : string; with query1 do begin close; Sql.clea...
    • 강동희
      2001.04.03 08:23
      진지하고, 성의 있는 답변... 감사합니다.
    • 이한
    • 2001.04.03 00:14
    • 1 COMMENTS
    • /
    • 0 LIKES
    • Gromit
      2001.05.16 12:48
      이한 wrote: > for tx := 0 to ImageRotated.Width - 1 do > for ty := 0 to ImageRotated.Height -...
    • ㅋㅋㅋ
      2001.04.03 13:10
      속성에 InitialDir 이 있군여.. 여기서 디폴터 디렉토리를 작성하면... 권혁주 wrote: > 안녕 하세...
    • 김일영
      2001.04.03 13:16
      만들고자 하시는 패키지 즉 Package1이라는 패키지가 dclhrp40이라는 패키지를 암시적으로 사용하고 있어...
    • hobakpa
      2001.04.02 23:34
      저도 허접입니다.... 40439번에 관련되어 고수들이 리플을 달았놓았어요... 아마도 60페이지에 있을겁...
    • 칠라기
      2001.04.03 00:45
      델파이 팁에 가면 있어용... 그정도의 노력을 해야죵...^^:
    • 칠라기
      2001.04.02 23:23
      모달 폼으로 띄어 봤어요..?? 쩝..
    • 바버
      2001.04.02 21:40
      델파이초보 wrote: > 안녕하세요 델파이 초보잡니다.. > 프로그램을 하나 만드는데.. > > MDI폼 1개 ...