Как использовать Data Grid в качестве источника данных и показать его DevExpress ChartControl в WPF? Или у вас есть альтернативное решение, чтобы показать диаграмму из сетки данных в WPF?
DataGrid не должен быть источником данных для вашего ChartControl. Я предполагаю, что вы используете шаблон MVVM для приложения WPF.
Если вы не знаете о MVVM, прочтите: MVVM: Учебник от начала до конца?
Короче говоря, ваш DataGrid из «View» привязан к источнику данных из «ViewModel», а ChartControl должен следовать тому же принципу, он должен быть привязан к источнику данных из «ViewModel», а не к самому DataGrid.
Это то же самое, что спросить, как мне распечатать документ с моего монитора (вы можете сделать это, отсканировав монитор и распечатав :)). Вы не подключаете принтер к монитору для печати, вы используете тот же документ в качестве «источника данных» с жесткого диска для отображения его на мониторе, а также для печати на принтере.
Начиная с DevExpress версии 15.2, инструмент Генератор отчетов позволяет создавать отчет из представления сетки DevExpress.
Дополнительную информацию см. В разделе справки Расширенная сеточная печать и экспорт. Однако этот подход не будет работать для стандартного DataGridView. В этом случае вы можете использовать Мастер отчетов для привязки отчета к источнику данных DataGridView и создания требуемого макета. Как вариант, вы можете создать макет отчета вручную. Просмотрите подход, описанный в статье Как создать отчет динамически.
Конкретные сведения о WPF см. Ниже по ссылкам на документацию:
Генерация отчетов на основе сетки
Пожалуйста, попробуйте эти решения и дайте мне знать, поможет ли какое-либо из них.
Хотя можно привязать DevExpress ChartControl и GridControl к одной и той же коллекции моделей представления, вы также можете использовать стандартный синтаксис привязки WPF, чтобы связать GridControl со свойством ChartControl.DataSource (DataSource = "{Binding ElementName = grid, Path = SelectedItems}").
Этот подход показан в демонстрационном модуле «Диаграмма сетки данных» ChartControl из демонстрационного центра DevExpress. В этом случае макет диаграммы автоматически обновляется в зависимости от фактического состояния выбора сетки.