Как динамически привязать запрос к сетке?

У меня есть запрос, в котором установленные источники данных могут динамически изменяться. Я хочу взять результаты этого запроса и привязать их к сетке, чтобы каждый раз у нее могли быть новые поля и данные.

Я уже добавил сетку в свою форму и добавил общую таблицу в качестве источника данных. Я попытался установить источник данных сетки, перебирать поля и динамически добавлять их, но данные не отображаются.


person esac    schedule 04.03.2012    source источник
comment
Не могли бы вы предоставить часть своего кода в качестве образца? Было бы легче определить, что именно вы пытаетесь сделать.   -  person Michael Brown    schedule 08.03.2012


Ответы (1)


Посмотрите на форму SysTableBrowser. Он строит сетку на основе tableId.

Может быть, вы можете изменить SysTableBrowser, чтобы принять запрос.

Удачи!

person Jan B. Kjeldsen    schedule 05.03.2012
comment
Да, именно с этого я и начал. Он выполняет это совсем по-другому, используя компилятор для компиляции запроса, который вы вводите в текстовое поле ниже. Кажется, я не могу получить запрос из объекта Query (в формате, который будет компилироваться), поэтому я не думаю, что это сработает. - person esac; 06.03.2012
comment
Вместо этого вы должны иметь возможность изменить автоматически сгенерированный запрос на свой. Сделайте это в методе init источника данных: this.query(yourquery); - person Jan B. Kjeldsen; 06.03.2012
comment
Итак, после долгих исследований, да, это делает то, что я хочу. У меня все заработало, но теперь остается только попытаться выяснить, как отобразить результаты в удобном формате, поскольку в запросе будет несколько таблиц, а в браузере таблиц — нет. - person esac; 08.03.2012
comment
Если вы выполнили внутреннее соединение таблиц, вы сможете отобразить все поля в сетке. Но будет ли конечный результат иметь смысл для пользователя? - person Jan B. Kjeldsen; 08.03.2012