Q&A

  • 선택된 필드에 있는 값을 넘기고 싶어요 -
1번 폼에- 그리드가 하나 있어요-
그 그리드에는 여러 내용이 주욱 보여 지고 있는데-
회사 코드(숫자) 를 새 폼에 값을 넘기려고 하거든요..

지금 제가

변수 := fieldbyname('필드이름').asString ;
showmessage(변수);
폼 이름2.showmodal;

요렇게 해서해 놨는데..
받아 가는 새로운 폼에서는 변수에 값이 안넘어 가는....

초보라서 그런지... 느낌대로 필가는 대로 코딩해서..
뭐가 짜맞지를 않는다는;;

어떻게 해야 하나요;
1  COMMENTS
  • Profile
    Diablo 2006.11.16 00:27
    그리드 리스트가 있을때
    특정리스트를 클릭한다던지 해서 선택이 되면
    그 선택된 로우의 특정정보(회사코드)를
    상세페이지로 주고 싶다.

    1. 그리드를 선택했을때 데이터소스와 연결되있는 테이블의 레코드넘버는 함께 움직인다.
    2. 테이블은 그리드에서 선택된 내용에 포인터가 있어서 테이블의 필드값을 바로 뽑아낸다.
    3. 필드값의 적당한 비교후 상세페이지(폼이름2)를 생성시킨다.
    4. 폼이름2.변수(폼이름1이 참조할수있게 공용변수)에 테이블에서 뽑아낸 값을 넣는다.
    5. 뽑아낸 데이터를 상세페이지의 정의된 변수에 집어 넣는다.
    6. 폼이름2.ShowModal 한다.
    7. 폼이른2.OnShow 이벤트에 ShowMessage(폼이름1이 넘겨줬던 변수명);
    8. 성공

    sTemp := TempTable.FieldByName('회사코드').AsString;
    폼이름2 := T폼이름2.Create(Self);
    Try
      폼이름2.g_Firm_Code := sTemp;
      if 폼이름2.ShowModal = mrOK then
      begin
        //확인 취소 기능이 있을경우에 코딩
      end;  
    Finally
      폼이름2.Free;
    end;


    //상세폼 코딩
    T폼이름2.OnCreate(Sender: TObject);
    begin
    g_Firm_Code := '';
    end;
    T폼이름2.OnShow(Sender: TObject);
    begin
      if g_Firm_Code <> '' then
        ShowMessage('아싸 성공 : ' + g_Firm_Code);
    end;