Jump to content
과거의 기술자료(읽기 전용): https://tech.devgear.co.kr ×
과거의 기술자료(읽기 전용): https://tech.devgear.co.kr

[FMX] FireMonkey TStringGrid 에서 TComboBox 사용 하는 방법.


Recommended Posts

image.png

 

FireMonkey 플랫폼의 TStringGrid 에서 TComboBox 를 사용 하는 방법입니다.

예시된 샘플은 TMemo 의 데이터를 동적생성된 TComboBox로 불러와서 TStringGrid 에서 사용을 합니다.

먼저 TStringGrid 에 Add Item 항목으로 TColumn을 추가 합니다.

그리고 TStringGrid 의 OnCreateCustomEditor 이벤트 메소드를 추가 하고 아래와 소스와 같이 입력 합니다.

TCombobox 의 OnChange 메소드에는 ChangeStringGridComboBox 프로시져를 연결 합니다.

빌드후 실행하면 TStringGrid 첫번째 컬럼의 셀 선택시 콤보박스에서 데이터를 선택하여 입력 할 수 있습니다.

type THelpModel = class(TGridModel);

procedure TForm1.ChangeStringGridComboBox( Sender : TObject );
begin
  with TComboBox( Sender ), StringGrid1 do
  begin
    THelpModel( Column1.Model ).DoSetValue( Col, Row, TValue.From<String>(Items[ItemIndex] ) );
    Column1.UpdateCell(Row);
  end;
end;

procedure TForm1.StringGrid1CreateCustomEditor(Sender: TObject; const Column: TColumn; var Control: TStyledControl);
begin
  if Column = Column1 then
  begin
    Control := TComboBox.Create(Self);
    TComboBox( Control ).Items.Assign( Memo1.Lines );
    with StringGrid1, TComboBox( Control ) do
      ItemIndex := Items.IndexOf( THelpModel( Column.Model ).DoGetValue(Col,Row).AsString );
    TComboBox( Control ).OnChange := ChangeStringGridComboBox;
  end;

end;

 

데모영상

 

이 댓글 링크
다른 사이트에 공유하기

이 토의에 참여하세요

지금 바로 의견을 남길 수 있습니다. 그리고 나서 가입해도 됩니다. 이미 회원이라면, 지금 로그인하고 본인 계정으로 의견을 남기세요.

Guest
이 토픽(기고/질문)에 답하기

×   서식있는 텍스트로 붙여넣기.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   이전에 작성한 콘텐츠가 복원되었습니다..   편집창 비우기

×   You cannot paste images directly. Upload or insert images from URL.

 공유하기

×
×
  • Create New...

중요한 정보

이용약관 개인정보보호정책 이용규칙 이 사이트가 더 잘 작동하기 위해 방문자의 컴퓨터에 쿠키가 배치됩니다. 쿠키 설정 변경에서 원하는 설정을 할 수 있습니다. 변경하지 않으면 쿠키를 허용하는 것으로 이해합니다.