Рейтинг:
1
Ezra Neil
Проблема 1
Данные не обновляются, поскольку отчет по-прежнему использует старый источник данных, который не был обновлен. Вы должны быть в состоянии получить его, сделав выбор снова в событии обновления отчета.
Private Sub CRViewer_ReportRefresh(ByVal source As Object, ByVal e As CrystalDecisions.Windows.Forms.ViewerEventArgs) Handles CRViewer.ReportRefresh
populate_data()
End Sub
Public Sub populate_data()
Dim da As New MySqlDataAdapter("select * from v_masterfile", cn)
Dim tbl_new As New DataTable
da.Fill(tbl_new)
obj_masterfile.SetDataSource(tbl_new)
End Sub
Я сам не пробовал код, так что подстраивайтесь соответственно.
Задача 2
Ну, так как вы получаете данные программно, то если вы хотите использовать другое соединение, то вы должны делать это при инициализации соединения, а не при самом отчете (перед запросом базы данных для получения данных).
Важно то, что отчет получил необходимый ему источник данных, и он будет работать так, как вы его разработали.
JMAM
В задаче № 2 я не получал данные программно,
Примечание: Я создал источник данных во время разработки(shft + alt + D).
Затем на кристалл доклад время разработки, я использую экспертов база данных > По данным проекта&ГТ; наборы ADO.NET &ГТ; v_masterfile
Проблема в том, что при запуске программы отчет не показывает никакой записи.
Кроме того, я создал еще один источник данных с помощью ODBC, задаваясь вопросом, будут ли у меня другие результаты. Затем на кристалл доклад время разработки, я использую экспертов база данных > По данным проекта&ГТ; наборы ADO.NET &ГТ; v_masterfile
Когда я запускаю свою программу на этот раз с помощью ODBC, она показывает хорошие записи по сравнению с ADO.NET в расчетное время это вообще не показывает никаких записей.
Ezra Neil
Что я могу сделать из вашего кода и объяснения, вы используете MySQL .Net connector, подключающийся к базе данных MySQL, верно?
Если ваша сетка правильно отображает данные из набора данных, то нет никаких проблем с источником данных.
Используйте типизированный набор данных для создания отчета. Перейдите в Проводник полей > Добавить / удалить набор данных > ADO.NET (XML) перейдите к файлу набора данных и закончите.Теперь все таблицы, которые вы создали в типизированном наборе данных, будут видны в отчете, Теперь создайте отчет с их помощью.
Убедитесь, что набор данных, который вы устанавливаете в datasouce, имеет то же имя набора данных, что и имя вашего типизированного набора данных, а также ту же структуру.
Если это все еще не заставляет его работать, то опубликуйте больше своего кода. Может быть, мы сможем найти что-нибудь оттуда.
JMAM
Привет,
На самом деле я только что заново установил свою Visual Studio 2008, MySQL .Net Connector & MySQL v5. 1. 53
Думая,что это может быть конфигурация. Таким образом
Я создал новый проект, с помощью form1 я добавил crystal report viewer, из crystal report viewer я выбираю создать пустой файл отчета. Таким образом, я добавил новый Datasoure, выбрал MySQL, ввел необходимые данные подключения, такие как server host = Localhost, User ID= root, Password = 3, а затем
Наконец, в Проводнике полей crystal report file я нажимаю кнопку database Expert и выбираю ADO.NET из данных проекта затем перетащите любую таблицу базы данных, а затем перетащите несколько полей, идущих к деталям строки отчета. затем я выполнил программу. Тогда по-прежнему никаких данных не показывается. Однако, когда я использовать средство просмотра отчетов Microsoft, а затем создать отчет, а затем получить данные из ado.net также, то я вижу, когда я запустить приложение.
теперь я так опустошен этой ошибкой. Я впервые сталкиваюсь с этим. Прежде чем я смогу сделать это без каких-либо ошибок.
Кроме того, вы можете скачать мой пример проекта, включая БД, коннектор и другие детали, чтобы вы могли понять, почему на самом деле происходит ошибка и я не могу ее отследить.
https://dl.dropboxusercontent.com/u/65392916/SAMPLE.rar
JMAM
Кстати, я хотел бы поблагодарить вас за помощь