2013-03-31 78 views
1

在我的cxGrid中我有一个是/否字段默认为“否”。在该字段旁边,我有另一个字段,一个LookupComboBox字段, 从另一个表中获取其值。默认情况下它是空的,但是我希望这个,当这个值在这个 特定字段中被改变时,我的Yes/No字段应该变成'YES'(只在我当前正在编辑的行中)我该怎么做?也不知道在哪里实现代码.... OnChange,Oneditvaluechanged,Onvalidate ???更改cxgrid中的字段值时更改另一个

+0

不知道cxGrid ,但听起来像你正在使用内联编辑。因此,您可能需要包含组合框的列的内联编辑器的OnChange处理程序。在该处理程序中,您必须限制自己编辑连接到网格的数据源/数据集的当前记录。 –

回答

1

既然您的网格semms被绑定到数据集上,一个简单的方法就是使用选择字段的fieldchange事件。
对于眼前问题,您应该使用ImmediatePost一个TcxEditRepositoryLookupComboBoxItem而不是一个Lookupfield在你的数据集(这无论如何至少ADO糟糕的做法)

procedure TForm4.MainSelectionChange(Sender: TField); 
begin 

    if Main.State in [dsEdit,dsInsert] then 
     if not Sender.IsNull then 
     MainYesNo.Value := true; 

    { maybe you are looking for that instead the code above 
    if Main.State in [dsEdit,dsInsert] then 
     MainYesNo.Value := not Sender.IsNull 
    } 
end; 

Lookup definition Lookupusage

相关问题