Delphi-7,DevExpress ExpressQuantumGrid Suite for Delphi.BCB v5.8 Fianl
我在cxGrid中有一个名为 emaillist_id 的lookupcombobox列。 emaillist_id 是KeyField,电子邮件是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;
感谢。
答案 0 :(得分:4)
使用活动Properties.OnNewLookupDisplayText
。在这里,您将EditValue(DisplayText)作为参数。