3

我有一个带有几个外键的表,如下所示:

CREATE TABLE project.gl(
  id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
  glaccount_id INT(11) UNSIGNED NOT NULL,
  project_id INT(11) UNSIGNED NOT NULL,
  booking_id INT(11) UNSIGNED NOT NULL,
  cc_id INT(11) UNSIGNED DEFAULT NULL,
  cu_id INT(11) UNSIGNED DEFAULT NULL,
  PRIMARY KEY (id),
  INDEX FK_gl_booking_id (booking_id),
  INDEX FK_gl_cc_id (cc_id),
  INDEX FK_gl_cu_id (cu_id),
  INDEX FK_gl_glaccount_id (glaccount_id),
  INDEX FK_gl_project_id (project_id),
  CONSTRAINT FK_gl_booking_id FOREIGN KEY (booking_id)
  REFERENCES project.booking (id) ON DELETE RESTRICT ON UPDATE RESTRICT,
  CONSTRAINT ......

我想在 DBGrid 中显示它,但当然我不希望*_id显示所有的 ',而是显示 id 指向的数据。
我不想使用查询来解析 id,(现在)我想使用普通的TTable.

您会推荐哪个 DBGrid 变体可以在外键单元格中使用类似 DBLookupComboBox 的东西来查找外键?

4

3 回答 3

6

只需创建一个查找字段。然后 TDBGrid 会自动为该列显示一个组合框,您可以在其中从可用值中进行选择。关键字段会自动更新。

于 2011-12-06T14:08:43.010 回答
2

另请参阅 Ehlib 中的TDBGridEh,它比 ExpressQuantumGrid 更“轻”,但功能非常强大。它是一种商业产品。

于 2011-12-06T14:01:42.713 回答
1

我确实使用DeveloperExpress的ExpressQuantumGrid来完成这个和许多其他任务。它非常强大和成熟,可以有查找列。但它是商业的,它是一个非常“重”的组件。

于 2011-12-06T13:14:27.110 回答