2010-05-06 1 views
1

Может ли DevExpress XtraGrid заполняться с помощью строки инструкции Dynamic SELECT?Может ли DevExpress XtraGrid быть заполнен с помощью строки инструкции Dynamic SELECT

т.е. SELECT * FROM Employee
или
SELECT * FROM иждивенцами

Чтобы заполнить наши XtraGrids в настоящее время, мы используем ORM, который создает объекты. Для этого требуется много шагов и времени. Что заставляет меня задавать этот вопрос, мы делаем много клиентских ресурсов, где мы получаем сотни файлов. Я не хочу создавать сущности для всех, а затем создавать XtraGrid для каждого объекта. В идеале, если я могу просто подать его инструкцию SELECT, и XtraGrid мог бы ее отобразить, тогда я мог бы использовать очень красивые функции мини-обработки данных XtraGrid (Filter, Group By и т. Д.).

Если у вас есть другие идеи или предложения, пожалуйста, не стесняйтесь публиковать их.

После доработки: Быстродействие
Per Брендона ниже, чтобы создать статический метод, который возвращает DataTable.
Вот ссылка на страницу, которая на самом деле это делает. http://msmvps.com/blogs/deborahk/archive/2009/07/07/dal-retrieve-a-datatable-using-a-sql-statement.aspx

ответ

2

У XtraGrid нет встроенных механизмов для создания источника данных из инструкции SQL. Для меня самый простой способ добиться этого - просто создать статический метод, который создает и возвращает DataTable/DataSet из оператора SQL. Затем я могу установить источник данных XtraGrid в результаты этого метода.

+0

Спасибо за ответ. Вот ссылка на код, который возвращает DataTable. http://msmvps.com/blogs/deborahk/archive/2009/07/07/dal-retrieve-a-datatable-using-a-sql-statement.aspx Я не смог поработать над тем, чтобы передать это XtraGrid но, по крайней мере, это похоже на хорошее стартовое место. Еще раз спасибо! –

+1

Это очень похоже на то, что я использую. Если вы не работаете в сценарии с мастер-деталями, вам просто нужно назначить этот DataTable для свойства DataSource XtraGrid. Если вам нужно использовать сценарий мастер-детали, вам придется использовать DataSet. – Brendon