2

Delphi-7、Delphi.BCB v5.8 最終版向け DevExpress ExpressQuantumGrid スイート

cxGrid に emaillist_id という名前の lookupcombobox 列があります。emaillist_idは KeyField で、EmailListField です。ユーザーは、リストから電子メールを選択するか、新しい電子メールを入力できます。ユーザーが新しい電子メールを入力すると、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 に答える