RDLC - добавление источника данных в VS2010

Привет.

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

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

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

Ответ 1

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

Ответ 2

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

Я думаю, что у меня была аналогичная проблема. Не уверен, что это вам поможет, но вот как я это обошел.

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

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

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

Новая часть, которую я только что пробовал, - это нажать кнопку "Создать..." рядом с выпадающим списком "Источник данных". В результате мастер проведет вас через выбор сборки и класса CLR (установите флажок, чтобы выбрать свой класс).

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

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

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

Ответ 3

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

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

Ответ 4

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

Ответ 5

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

Ответ 6

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

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