• DataGrid


    Imports OASIS.BusinessLogicLayer
    Public Class Rpt_MioTVOrders_TeamLeader_FTA1
        Inherits System.Web.UI.Page

      ....

        Dim _dealer As String = ""
        Dim _nric As String = ""
        Dim _month, _year As Integer
        Dim myNewTable As New DataTable

        Dim headerList As String() = {"S/N", _
                            "Name", _
                            "FTA Orders", _
                            "Incentive Amount $"}
        Dim columnList As String() = {"SN", "Name", "FTAOrders", "IncentiveAmount"}

        Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            'Put user code to initialize the page here
            If (Not IsDBNull(Request.Params("Dealer")) And Not IsDBNull(Request.Params("Month")) And Not IsDBNull(Request.Params("Year"))) Then
                _dealer = Request.Params("Dealer")
                _month = Request.Params("Month")
                _year = Request.Params("Year")

                lblErrMsg.Text = ""
                PopulateDataGrid()

                If Request.Params("Action") = "PRINT" Then
                    Response.Write("<script language=javascript>")
                    Response.Write("alert('Please set your printer orientation to Landscape');")
                    Response.Write("window.print();")
                    Response.Write("</script>")
                End If

            End If
        End Sub

        Function PopulateDataGrid()
            Try
                '--- Create DataColumn ---
                Dim myDataColumn As DataColumn
                Dim i As Integer = 0
                For i = 0 To headerList.Length
                    If i = 0 Then
                        myDataColumn = New DataColumn("colType", GetType(System.String))
                    Else
                        myDataColumn = New DataColumn(columnList(i - 1), GetType(System.String))
                    End If
                    myNewTable.Columns.Add(myDataColumn)
                Next

                ShowReportHeader()
                ShowHeader()
                ShowOrders()

                dgTeamLeaderFTA.DataSource = myNewTable
                dgTeamLeaderFTA.DataBind()

            Catch ex As Exception
                lblErrMsg.Text = ex.Message
            End Try
        End Function
        Function ShowReportHeader()
            '--- Report Headers ---
            Dim myNewRow_ReportHeader As DataRow = myNewTable.NewRow
            myNewRow_ReportHeader("colType") = "REPORT_HEADER"
            myNewRow_ReportHeader("Name") = "Team Leader FTA Orders for " & _month & "/" & _year
            myNewRow_ReportHeader("Name") += "(" & _dealer & ")"
            myNewTable.Rows.Add(myNewRow_ReportHeader)
        End Function

        Function ShowHeader()
            '--Header--
            Dim i As Integer = 0
            Dim myNewRow_Header As DataRow = myNewTable.NewRow
            For i = 0 To headerList.Length - 1
                myNewRow_Header(columnList(i)) = headerList(i)
            Next
            myNewRow_Header("colType") = "HEADER"
            myNewTable.Rows.Add(myNewRow_Header)
        End Function
        Function ShowOrders()

            Dim myTable As DataTable
            Dim myRow As DataRow
            Dim iRowCount As Integer = 0
            Dim OrdersTotal As Integer = 0
            Dim IncentiveTotal As Integer = 0

            myTable = Mioplan.GetMioTeamLeaderForFTA(_dealer, _month, _year)

            For Each myRow In myTable.Rows
                Dim myNewRow As DataRow = myNewTable.NewRow
                myNewRow("SN") = myRow("SN")
                myNewRow("Name") = myRow("Name")
                myNewRow("FTAOrders") = myRow("FTAOrders")
                myNewRow("IncentiveAmount") = "$" & myRow("IncentiveAmount")
                myNewTable.Rows.Add(myNewRow)
            Next

            For Each myRow In myTable.Rows
                OrdersTotal += myRow("FTAOrders")
                IncentiveTotal += myRow("IncentiveAmount")
            Next

            Dim myNewRow_Total As DataRow = myNewTable.NewRow
            myNewRow_Total("colType") = "OrdersTotal"
            myNewRow_Total("Name") = "Total"
            myNewRow_Total("FTAOrders") = OrdersTotal
            myNewRow_Total("IncentiveAmount") = "$" & IncentiveTotal
            myNewTable.Rows.Add(myNewRow_Total)

        End Function
        Private Sub dgTeamLeaderFTA_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles dgTeamLeaderFTA.ItemDataBound
            'If e.Item.ItemType = ListItemType.AlternatingItem Or e.Item.ItemType = ListItemType.Item Then
            Dim i As Integer = 0
            If Request.Params("Action") = "PRINT" Then
                For i = 1 To headerList.Length
                    e.Item.Cells(i).Font.Size = FontUnit.Point(6)
                    e.Item.Cells(i).Font.Bold = True
                Next
            End If
            Select Case e.Item.Cells(0).Text
                Case "HEADER"
                    For i = 1 To headerList.Length
                        e.Item.Cells(i).Attributes.Add("align", "Center")
                        e.Item.Cells(i).Font.Bold = True
                        e.Item.Cells(i).BackColor = Color.FromArgb(CInt(&HB5C7DE))
                    Next
                Case "REPORT_HEADER"
                    For i = 1 To headerList.Length
                        e.Item.Cells(i).Style.Add("BORDER", "none")
                        e.Item.Cells(i).BackColor = Color.Transparent
                    Next
                    e.Item.Cells(2).Font.Size = FontUnit.Medium
                    e.Item.Cells(2).Font.Underline = True
                    e.Item.Cells(2).ForeColor = Color.Black
                    e.Item.Cells(2).Attributes.Add("align", "Left")
                    e.Item.Cells(2).Font.Bold = True
                    e.Item.Cells(2).ColumnSpan = headerList.Length
                    e.Item.Cells.RemoveAt(1)
                Case "OrdersTotal"
                    For i = 1 To headerList.Length
                        e.Item.Cells(i).Style.Add("BORDER", "none")
                        If i >= 2 Then
                            e.Item.Cells(i).BackColor = Color.Transparent
                            e.Item.Cells(i).Font.Underline = True
                            e.Item.Cells(i).ForeColor = Color.Black
                            e.Item.Cells(i).Font.Bold = True
                        End If
                    Next
            End Select
        End Sub
    End Class

  • 相关阅读:
    几个关于设计的小问题
    基于建立/保持时间等的参数化时序分析
    Stratix内嵌存储器测试报告
    采用流水线技术实现8位加法器
    运算顺序引发的一系列有趣问题
    PON系统基础知识简介
    某MDU产品OMCI软件升级加速方案
    研究生期间接受的指导(二)
    研究生期间接受的指导(一)
    1063 Set Similarity (25 分)
  • 原文地址:https://www.cnblogs.com/ganting/p/4610851.html
Copyright © 2020-2023  润新知