Можно ли заполнить DevExpress XtraGrid с помощью строки оператора Dynamic SELECT

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

т. е. SELECT * FROM Employee
или
SELECT * FROM Dependents

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

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

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


person Gerhard Weiss    schedule 06.05.2010    source источник


Ответы (1)


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

person Brendon    schedule 18.05.2010
comment
Спасибо за ответ. Вот ссылка на код, который возвращает DataTable. msmvps.com/blogs/deborahk/archive/2009/07/07/ Мне пока не удалось передать это в XtraGrid, но, по крайней мере, это выглядит как хорошая отправная точка. Спасибо еще раз! - person Gerhard Weiss; 20.05.2010
comment
Это очень похоже на то, что я использую. Если вы НЕ работаете в сценарии master-detail, вам просто нужно присвоить эту DataTable свойству DataSource XtraGrid. Если вам нужно использовать сценарий master-detail, вам придется использовать DataSet. - person Brendon; 26.05.2010