一个非常变态的排序问题,请大家帮忙

zhhhhao 2006-05-30 10:01:17
id name num class
1 类别1 2 1
2 类别2 2 2
3 类别1 4 1
4 类别4 2 4
5 类别3 2 3
6 类别4 12 4
7 类别2 15 2
8 类别5 69 5



显示结果
类别1 num:6 6%
类别2 num:17 17%
类别3 num:2 2%
类别4 num:14 14%
类别5 num:61 61%
显示结果我做出来了,在水晶报表中,但是对方要求要按小到大排列,怎么呀,就是要这种效果
类别3 num:2 2%
类别1 num:6 6%
类别4 num:14 14%
类别2 num:17 17%
类别5 num:61 61%
...全文
277 3 打赏 收藏 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
SeeSunSet 2006-07-27
  • 打赏
  • 举报
回复
在存储过程中用临时表计算好结果,排好序再返回结果绑定到报表,非常 EASY`
smallyear 2006-06-02
  • 打赏
  • 举报
回复
crystal有排序专家啊(record sort expert)自由定义即可
xwdd129 2006-05-30
  • 打赏
  • 举报
回复
排序要用到排序字段,右键-->报表-->排序记录,加好排序字段,可以有多个,以便在代码里控制!

水晶报表排序编程实例

Dim crReportDocument As ReportDocument

Public Sub changeSortField(mySortFld As String, mySortDir As String)

Dim crSortField As SortField
Dim crSortDirection As SortDirection
Dim crDatabaseFieldDefinition As DatabaseFieldDefinition

For Each crSortField In crReportDocument.DataDefinition.SortFields
If crSortField.Field.Name.ToString = mySortFld Then
crDatabaseFieldDefinition = crReportDocument.Database.Tables(0).Fields(mySortFld.ToString)
crSortField = crReportDocument.DataDefinition.SortFields(0)
crSortField.Field = crDatabaseFieldDefinition

If mySortDir = "Ascending" Then
crSortField.SortDirection = SortDirection.AscendingOrder
Else
crSortField.SortDirection = SortDirection.DescendingOrder
End If
End If
Next

CrystalReportViewer1.ReportSource = crReportDocument
End Sub

4,818

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 图表区
社区管理员
  • 图表区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧