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

поздравления.

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

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

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

6 ответов


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

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

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

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

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

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

когда мастер закончил, мой новый набор данных объявиться.

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

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


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


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

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


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


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


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

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