WEB开发网
开发学院数据库MSSQL Server 用ROLLUP进行分类数据统计(二) 阅读

用ROLLUP进行分类数据统计(二)

 2007-05-17 09:37:38 来源:WEB开发网   
核心提示: 可以看到,上面用到的技巧基本和《在DATAGRID中使用分类标题》的是差不多的,只不过为了在最后统计所有的分类结果,用ROLLUP进行分类数据统计(二)(2),将最后一行的标题改为total,之后,就会得到本文图所示的效果了,本程序在win2000 server+vs.net 2002下通

可以看到,上面用到的技巧基本和《在DATAGRID中使用分类标题》的是差不多的,只不过为了在最后统计所有的分类结果,将最后一行的标题改为total。之后,我们要对datagrid中的数据进行格式化,将临时标记取消,换为我们要显示的格式,因为新插入的分类标题行是和普通的行不同的,我们要设置其样式,于是在其item_bound事件中,代码如下:

 Private Sub DataGrid1_ItemDataBound(sender As Object, e As DataGridItemEventArgs)
Select Case e.Item.ItemType
    Case ListItemType.AlternatingItem, ListItemType.Item
 ’如果发现是分类标题行的话,则对其进行格式化
      If e.Item.Cells(1).Text.Equals("-1") Then
        'Format the SubHeading Columns
        e.Item.Cells(0).Attributes.Add("align", "Left")
        e.Item.Cells(0).ColumnSpan = 3
        e.Item.Cells(0).Font.Bold = True
   ‘合拼为一个新的分类标题行,移除其中的单元格
        e.Item.Cells.RemoveAt(2)
        e.Item.Cells.RemoveAt(1)
        e.Item.BackColor = Color.FromArgb(204,204,255)
End If
‘最后的所有分类的总计
      If e.Item.Cells(0).Text.Equals("Total") Then
        'Format the Main total column
        e.Item.Cells(0).Attributes.Add("align", "Left")
        e.Item.Cells(0).Font.Bold = True
        e.Item.Cells(1).Font.Bold = True
        e.Item.Cells(2).Font.Bold = True
        e.Item.BackColor = Color.FromArgb(204,153,255)
End If
'如果是每个分类的小计的话,则设置相应的显示格式
      If e.Item.Cells(0).Text.Equals("SubTotal") Then
        'Format the subtotal columns.
        e.Item.Cells(0).Attributes.Add("align", "Left")
        e.Item.Cells(0).Text = "Sub Totals"
        e.Item.Cells(0).Font.Bold = True
        e.Item.Cells(1).Font.Bold = True
        e.Item.Cells(2).Font.Bold = True
        e.Item.Cells(0).Font.Italic = True
        e.Item.Cells(1).Font.Italic = True
        e.Item.Cells(2).Font.Italic = True
       End If
  End Select
End Sub

本文例子运行的效果可以在http://aspnet.4guysfromrolla.com/demos/dgRollup.aspx中看到

最后,别忘记了Imports System.Data.SqlClient咯。运行程序后,就会得到本文图所示的效果了。

本程序在win2000 server+vs.net 2002下通过,也可以在vs.net 2003下运行。

上一页  1 2 

Tags:ROLLUP 进行 分类

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接