2

Delphi-7,DevExpress ExpressQuantumGrid Suite For Delphi.BCB v5.8 Fianl

我在 cxGrid 中有一个名为emaillist_id的 lookupcombobox 列。其中emaillist_id是 KeyField,Email是 ListField。用户可以从列表中选择电子邮件或键入新电子邮件。当用户键入新电子邮件时,我想使用 SP 将其添加到数据库表中。为此,我需要获得编辑值。我怎样才能做到这一点?

或者,这个问题有更好的解决方案。

procedure TfrmClientEmail.grdClientEMailDBTableViewEditValueChanged(
  Sender: TcxCustomGridTableView; AItem: TcxCustomGridTableItem);
begin
  if AItem.Index=(Sender as TcxGridDBTableView).GetColumnByFieldName('emaillist_id').Index then
   with ADOSP_ClientEmailEdit do
     begin
        Parameters.ParamValues['@KodClient']:=ADOSP_ClientEmail['KodClient'];
        Parameters.ParamValues['@email']:=Sender.Controller.EditingController.Edit.EditValue;//This return KeyFieldValue
        ExecProc();
     end;
     ADOSP_ClientEmailRefresh();
end;

谢谢。

4

1 回答 1

4

使用事件Properties.OnNewLookupDisplayText。在这里,您将 EditValue (DisplayText) 作为参数。

于 2011-08-24T08:06:46.633 回答