Q&A

  • 그리드내 콤보박스 삽입시 에러내용...
안녕하세요
그리드내 콤보박스 삽입하는 로직이 필요해서 찾아보니
마침 있길래 그대로 사용해보았습니다.
그런데 에러가 나는데 어떻게 고쳐야 될지....
이벤트에 값을 넣는부분인데

procedure TForm1.StringGridSelectCell(Sender: TObject; ACol,
  ARow: Integer; var CanSelect: Boolean);
var
  i : integer;
begin
  for i := 1 to StringGrid.RowCount-1 do
     if (StringGrid.Objects[3,i] is TcomboBox) then
        TcomboBox(StringGrid.Objects[3,i]).Visible := False;

  if (ACol = 3) then begin
    if (StringGrid.Objects[ACol, ARow] is TcomboBox = False) then begin
       StringGrid.Objects[ACol, ARow] := TcomboBox.Create(StringGrid);
       with TcomboBox(StringGrid.Objects[ACol, ARow]) do begin
         onDropDown := comboBoxDropDown;   <<<---
         onSelect   := comboBoxSelect;            <<<---
         Style := csDropDownList;

         Parent := StringGrid;
         BoundsRect := StringGrid.CellRect(ACol, ARow);
         Height := StringGrid.DefaultRowHeight-1;
         items.add('aaaaaaaaaaaaaaa');
         ClientHeight:=100;
         onDropDown(Sender);
       end;
    end
    else TcomboBox(StringGrid.Objects[ACol, ARow]).Visible := True;
  end;
end;

윗부분에서 화살표를 친 onDropDown := comboBoxDropDown;  부분과
onSelect   := comboBoxSelect;  이부분입니다.
초보자라 어떻게 해야할지 난감하군요
0  COMMENTS