我填充DataTable,然后对该DataTable的DefaultView进行排序。当我将DataTable设置为我的报告的源时,排序不起作用。如果它有帮助,这里是代码(GetData返回一个有效的DataTable):
Dim dt As DataTable = a.GetData(Parm1, Parm2, Parm3)
If rbtSortByField1.Checked Then
dt.DefaultView.Sort = "Field1 ASC"
ElseIf rbtSortByField2.Checked Then
dt.DefaultView.Sort = "Field2 ASC"
ElseIf rbtSortByField3.Checked Then
dt.DefaultView.Sort = "Field3 ASC"
End If
rpt.SetDataSource(dt.DefaultView.Table)
'This also doesn't work
'rpt.SetDataSource(dt)
答案 0 :(得分:1)
假设这是一份水晶报告......
请参阅此文章。您无法对数据源进行排序,您需要让报告进行排序。
此处还包括:
答案 1 :(得分:1)
您需要将数据视图传递给Crystal而不是
中的数据表datatable.DefaultView.Sort = "col1, col2, col3"
Dim dv As DataView = datatable.DefaultView
myReportDocument.SetDataSource(dv)