RDLC - Добавление источника данных в VS2010 - PullRequest
11 голосов
/ 29 декабря 2010

Привет.

У меня есть файл RDLC, и я хочу добавить в него источник данных, хотя пока безуспешно. Источник данных - это пользовательский класс, написанный мной (просто чтобы добавить, мы делаем это постоянно). Недавно мы перешли на формат VS2010 RDLC, который вызвал некоторые проблемы, но мы внесли некоторые изменения в нашу реализацию, чтобы обойти более серьезные проблемы.

Итак, возвращаясь к проблеме, когда я пытаюсь добавить свой источник данных в список DummyDataSource в представлении RDLC в VS2010, он просто ничего не делает, однако добавляет источник данных в список источников данных, но Вы не можете выбрать его из выпадающего списка в представлении RDLC, что означает, что я вообще не могу добавить источник данных.

Кто-нибудь сталкивался с этой проблемой? Есть что-нибудь, что мне нужно проверить? Я искал с пылом и не повезло.

Ответы [ 6 ]

18 голосов
/ 08 января 2011

Кажется, здесь происходит немного чёрной магии.Или, по крайней мере, я не разобрался со всеми заклинаниями, чтобы это произошло надежно.

Мне кажется, у меня была похожая проблема.Не уверен, поможет ли это вам, но вот как я справился с этим.

В конструкторе отчетов VS2010 используйте view-> Report Data, чтобы отобразить панель данных отчета.

Нажмите кнопку «Создать» и выберите «Набор данных ...», чтобы открыть диалоговое окно «Свойства набора данных».

Назовите свой набор данных. Если вы делали это раньше, вы, вероятно, знаете, что здесь необходимо имя набора данных.чтобы соответствовать имени, указанному в коде, когда вы связываете свой ReportDataSource.

Новая часть, которую я только что попробовал, - это нажать кнопку New ... рядом с раскрывающимся списком Data Source.В результате мастер проведет вас через выбор сборки и класса CLR (используйте флажок для выбора вашего класса).

Когда мастер завершил работу, появился мой новый набор данных.

примечание: в первый раз, когда я пытался воспроизвести это, мастер завершил работу без добавления набора данных.Я вернулся к своему определению класса и украсил его атрибутами [DataContract] и [DataMember] , а затем снова запустил мастер, и он, похоже, работал отлично.

Возможно, кто-то с более глубокими знаниями может прокомментировать, почему эти атрибуты делают эту работу, или почему волшебник молча терпит неудачу без них.

16 голосов
/ 03 февраля 2011

Ваш объект источника данных должен включать собственный тип данных в качестве свойства класса, иначе он не позволит вам добавить его. Смешно, ах!

2 голосов
/ 25 июля 2012

Не удалось добавить источник данных, после следования мастеру (новая кнопка) источник данных не появился в выпадающем списке.Я добавил свойство с классом VS примитивного типа и затем показал правильный источник данных.

Странно это делать, но я нашел другой способ.

1 голос
/ 20 августа 2012

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

0 голосов
/ 17 февраля 2014

Если добавленный объект источника данных не отображается в ReportData, то: 1. Щелкните правой кнопкой мыши на rdlc и нажмите Открыть с помощью 2. Выберите XML-редактор 3. Добавьте необходимый набор данных вручную.

После этого обновите ReportData иВы увидите объект источника данных в списке.

0 голосов
/ 30 декабря 2011

Я видел, как это происходило, когда ваш последний выбор в хранимой процедуре извлекается из таблицы температуры / памяти.Вы должны подделать конструктор, добавив фиктивный выбор 0 AS mycol1int, '' mycol2string AS и т. Д. После создания набора данных вы можете удалить этот фиктивный выбор.Еще одна чудесная, невероятная особенность в VS!У них есть БД, у них есть IDE, но ...

...