天天看點

Delphi - cxGrid字段類型設定為ComboBox 并實作動态加載Item

cxGrid設定字段類型為ComboBox

在cxGrid中選中需要設定的字段;

單擊F11調出屬性控制台,在Properties下拉選項中選中ComboBox,完成字段類型的設定。

Delphi - cxGrid字段類型設定為ComboBox 并實作動态加載Item

cxGrid ComboBox類型字段動态指派,添加Item

動态指派代碼如下:

1 TcxComboBoxProperties(cxGrid1DBTableView1GROUPNAME.Properties).Items.Text := value;      

動态添加Item代碼如下:

procedure ComboAdd(Sender: Tstrings; SQLStr, v_Param: string);
begin
    ComboAddEx(MainForm.OraSession1, Sender, SQLStr, v_Param);
end;

procedure ComboAddEx(v_Session: TOraSession; Sender: Tstrings; SQLStr, v_Param: string);
var
    i, r: Integer;
    Q: ToraQuery;
    S: tstringlist;
begin
    s := tstringlist.Create;
    s.Clear;
    Q := ToraQuery.Create(nil);
    Q.Session := v_Session;
    OpenQuery(Q, SQLStr);
    SetParam(Q, v_Param);
    Q.Open;
    Q.first;
    while not Q.Eof do
    begin
        Sender.Add(Q.Fields[0].AsString);
        Q.next;
    end;
    Q.Close;
    Q.Free;
end;

//動态加載Item
var
    zm: TRzComboBox;
begin
    MainForm.dxBarListWindows.Items.AddObject(Caption, self);
    zm: TRzComboBox;
    zm.Items.Clear;
    ComboAdd(zm.Items, 'select DISTINCT FiledName from TableName t', '');
  TcxComboBoxProperties(cxGrid1DBTableView1FieldName.Properties).Items.Text := zm.Items.Text;
    zm.ItemIndex := 0;
    zm.OnClick(self);
end;      

  作者:Jeremy.Wu

  出處:https://www.cnblogs.com/jeremywucnblog/

  本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接配接,否則保留追究法律責任的權利。

繼續閱讀