TDBAdvGrid不允许使用JOIN查询进行就地编辑

时间:2013-10-14 18:42:57

标签: delphi delphi-xe3

我正在使用TDBAdvGrid组件来显示数据库表中的数据。 它显示了4列 - 组,简短描述,长描述,从表格到DBAdvGrid的图像。

DBAdvGrid.PageMode = true

在DBAdvGrid.Options中将选项goEditing设置为true。 DBAdvGrid的所有列的ReadOnly属性设置为False。

尽管如此,只有DBAdvGrid的第一列(Group)才允许进行内部编辑。所有其他现场编辑列都无效。

我的SQL查询如下

UniQuery1.SQL.Text := 'Select g.name, u.label, u.description, u.image from ugroup g, emp u where u.usergroup_id = g.id';

使用上述查询,它会在TDBAdvGrid中显示结果,但只显示来自ugroup表的数据的第一列可编辑,而显示来自emp表的数据的其他3列不可编辑尽管将GoEditing的{​​{1}}属性设置为True。

当从单个表中选择数据时,我将TDBAdvGrid的所有列都可编辑。

1 个答案:

答案 0 :(得分:1)

可以通过两种方式完成

1)在表单上放置两个表(在我的案例中为UniTable)并使用Master Detail Relation加入它们。

2)如果只想使用UniQuery进行此操作,则只需将UpdatingTable的{​​{1}}属性设置为两个表,即UniQuery以空格分隔。