Bocus Iqbal Ответов: 1

Как заменить набор данных с таблицы данных для отчета Crystal в VB.NET


Всем Привет,
Я получаю проблему '
the report requested requires further information
'.

Я искал, и решение состоит в том, чтобы заменить dataset на dataTable, однако я не смог получить учебник о том, как это сделать.
Ниже приведен мой код в vb.net.
myRrpt.Load(Server.MapPath("~\Reporting\CrystalReport15.rpt"))

connect_EWS.ConnectionString = Constr_EWS
Dim con As New SqlCommand
Dim query As String = "SELECT * from Report_BT where Number=@num"
con.CommandText = query
con.Connection = connect_EWS
con.Parameters.AddWithValue("@num", txtNumber.Text.Trim)
connect_EWS.Open()
'  Dim dsCustomers As New ISAE_BankTransfer
Dim da As New SqlDataAdapter(con)

Dim dsCustomers As DataSet4 = New DataSet4

da.Fill(dsCustomers, "Report_BT")
connect_EWS.Close()

myRrpt.SetDataSource(dsCustomers)
CrystalReportViewer1.DisplayPage = True

CrystalReportViewer1.ReportSource = myRrpt

может кто-нибудь, пожалуйста, помочь мне
использование новейшего программного обеспечения crystal reporting для vb.net
заранее спасибо

Что я уже пробовал:

может кто-нибудь, пожалуйста, помочь мне

Michael_Davies

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

myRrpt.SetDataSource(dsCustomers.Таблицы(0))

Вместо индекса можно использовать имя таблицы.

Bocus Iqbal

Здравствуйте Michael_Davies,
я все еще получаю сообщение ниже при переходе на вторую страницу в CR
- запрошенный доклад требует дополнительной информации.
какие изменения мне нужно сделать в моем коде выше, чтобы остановить отображение этого сообщения?

Michael_Davies

Тогда это не проблема таблицы и набора данных в соответствии с названием вашего вопроса.

Graeme_Grant

Помогает ли это? [^]

1 Ответов

Рейтинг:
1

Graeme_Grant

Согласно с: Microsoft Docs-Класс Набора Данных[^]

Цитата:
Набор данных, представляющий собой кэш в памяти данных, извлеченных из источника данных, является основным компонентом ADO.NET архитектура. Набор данных состоит из набора объектов DataTable, которые можно связать друг с другом с помощью объектов DataRelation.

А приведенный ниже пример взят отсюда: Майкрософт Документация - Набор Данных.Столы Собственность[^]
Private Sub PrintRows(ByVal dataSet As DataSet)
   Dim table As DataTable
   Dim row As DataRow
   Dim column As DataColumn
   ' For each table in the DataSet, print the row values.
   For Each table in dataSet.Tables
      For Each row In table.Rows
         For Each column in table.Columns
            Console.WriteLine(row(column))
         Next column
      Next row
   Next table
End Sub