procedure TForm1.advColumnGridGetEditorType(Sender: TObject; ACol,
ARow: Integer; var AEditor: TEditorType);
begin
if (ACol = 2) and (ARow = 5) then
begin
AEditor := edComboEdit;
end
else if (ACol = 6) and (ARow = 5) then
begin
AEditor := edComboEdit;
end
else if (ACol = 2) and (ARow = 6) then
begin
AEditor := edComboEdit;
end
else if (ACol = 6) and (ARow = 5) then
begin
AEditor := edMemoDropDown;
end;
end;
sl1, sl2, sl3 : TStringGrid;
값 설정 후
procedure TForm1.advColumnGridGetEditorProp(Sender: TObject; ACol,
ARow: Integer; AEditLink: TEditLink);
begin
if (ACol = 2) and (ARow = 5) then
begin
advColumnGrid.ClearComboString;
advColumnGrid.Combobox.Items.Assign(sl1);
end
else if (ACol = 6) and (ARow = 5) then
begin
advColumnGrid.ClearComboString;
advColumnGrid.Combobox.Items.Assign(sl2);
end
else if (ACol = 2) and (ARow = 6) then
begin
advColumnGrid.ClearComboString;
advColumnGrid.Combobox.Items.Assign(sl3);
end;
end;
질문
blueflag
안녕하세요.
델파이 11.2로 개발하고 있습니다.
TMS 그리드를 사용하는 데요. 그리드에 여러개의 ComboBox를 정의하고
ComboBox버튼이 계속 보여지도록 처리한 후에 아래와 같은 현상이 발생합니다.
아무리 검색해도 동일한 현상에 대해서 찾아 볼 수 없어서 혹시나 하고 글 올려 봅니다.
advColumnGrid.ControlLook.DropDownAlwaysVisible := true;
procedure TForm1.advColumnGridGetEditorType(Sender: TObject; ACol,
ARow: Integer; var AEditor: TEditorType);
begin
if (ACol = 2) and (ARow = 5) then
begin
AEditor := edComboEdit;
end
else if (ACol = 6) and (ARow = 5) then
begin
AEditor := edComboEdit;
end
else if (ACol = 2) and (ARow = 6) then
begin
AEditor := edComboEdit;
end
else if (ACol = 6) and (ARow = 5) then
begin
AEditor := edMemoDropDown;
end;
end;
sl1, sl2, sl3 : TStringGrid;
값 설정 후
procedure TForm1.advColumnGridGetEditorProp(Sender: TObject; ACol,
ARow: Integer; AEditLink: TEditLink);
begin
if (ACol = 2) and (ARow = 5) then
begin
advColumnGrid.ClearComboString;
advColumnGrid.Combobox.Items.Assign(sl1);
end
else if (ACol = 6) and (ARow = 5) then
begin
advColumnGrid.ClearComboString;
advColumnGrid.Combobox.Items.Assign(sl2);
end
else if (ACol = 2) and (ARow = 6) then
begin
advColumnGrid.ClearComboString;
advColumnGrid.Combobox.Items.Assign(sl3);
end;
end;
이렇게 해서 그리드를 구성하고, 실행을 한 후에
combobox를 마우스로 클릭하면 DropDown이 처음엔
한번 이루어집니다. 그리고 다른 Cell에 있는 Combobox를
선택하면 DropDown이 두번 발생합니다.
TMS 그리드 Samples에 asg5 에 있는 예제도 동일한 현상이 되더라구요.
이건 정말 해결이 안되는 걸까요? 저만 그런건지 궁금해서 질문 올려 봅니다.
감사합니다.
asg5.zip
Edited by blueflag이 댓글 링크
다른 사이트에 공유하기
2 answers to this question
Recommended Posts
이 토의에 참여하세요
지금 바로 의견을 남길 수 있습니다. 그리고 나서 가입해도 됩니다. 이미 회원이라면, 지금 로그인하고 본인 계정으로 의견을 남기세요.