Я пытаюсь создать Crystal Report, в котором мне нужно скрыть столбцы, такие как DataGridView.
У меня есть DataGridView, который имеет следующие столбцы
| Заказ на продажу | Поставщик |Название продукта | Тип продукта | Количество | Цена заказа | Способ оплаты | Статус заказа | Статус заказа | Дата заказа | Общая сумма |
У меня есть кнопка фильтра, которая будет фильтровать столбцы DataGridView.Я устанавливаю DataGridView только следующим образом: Datagridview1.Columns(ColumntoHide).Visible = False
Я хочу, чтобы мой отчет отображался так же, как DataGridView, когда я отфильтровал столбцы.
Sub SalesOrder()
Dim dt As New DataTable
Cursor.Current = Cursors.WaitCursor
With dt
.Columns.Add("salesorder")
.Columns.Add("supplier")
.Columns.Add("prodname")
.Columns.Add("prodtype")
.Columns.Add("qty")
.Columns.Add("orderprice")
.Columns.Add("payment")
.Columns.Add("orderstatus")
.Columns.Add("orderdate")
.Columns.Add("total")
.Columns.Add("overall")
End With
For Each dr As DataGridViewRow In frmSalesOrderReport.dgvRSalesOrder.Rows
dt.Rows.Add(dr.Cells(1).Value, dr.Cells(2).Value, dr.Cells(3).Value, dr.Cells(4).Value, dr.Cells(5).Value, dr.Cells(6).Value, dr.Cells(7).Value, dr.Cells(8).Value, CDate(dr.Cells(9).Value).ToString("MMM dd, yy"), dr.Cells(10).Value, frmSalesOrderReport.txtTotal.Text)
Next
Dim rptDoc As CrystalDecisions.CrystalReports.Engine.ReportDocument
rptDoc = New crSalesOrder
rptDoc.SetDataSource(dt)
frmReports.crvReports.ReportSource = rptDoc
frmReports.ShowDialog()
frmReports.Dispose()
Cursor.Current = Cursors.Default
End Sub
Вот как я пытаюсь добиться того, что яхочу в моем текущем отчете, но это метод перетаскивания, поэтому даже если я отфильтровал столбцы, столбцы в отчете не будут автоматически скрываться.Также я использовал Box Object и Line Object для создания моей таблицы.