Лучшая сетка БД для использования с большим количеством полей поиска - PullRequest
3 голосов
/ 06 декабря 2011

У меня есть таблица с парой внешних ключей, что-то вроде этого:

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, а вместо этого данные, на которые указывает идентификатор.
Я не хочу использовать запрос для разрешения идентификаторов, (пока) Я хочу использовать простой TTable.

Какой вариант DBGrid вы бы порекомендовали для поиска внешних ключей, используя что-то вроде DBLookupComboBox в ячейке внешнего ключа?

Ответы [ 3 ]

6 голосов
/ 06 декабря 2011

Просто создайте поле поиска .Затем TDBGrid автоматически показывает поле со списком для этого столбца, где вы можете выбрать одно из доступных значений.Ключевое поле автоматически обновляется.

2 голосов
/ 06 декабря 2011

См. Также TDBGridEh от Ehlib , он более «легкий», чем ExpressQuantumGrid, но довольно мощный. Это коммерческий продукт.

1 голос
/ 06 декабря 2011

Я использую ExpressQuantumGrid от DeveloperExpress для этой и многих других задач.Он очень мощный и зрелый и может иметь столбцы поиска.Но это коммерческий и очень «тяжелый» компонент.

...