ASP.NET中DataGrid添加超链接、自定义显示示、页脚汇

来源:互联网 发布:软妹服装淘宝店铺 编辑:程序博客网 时间:2024/04/29 10:39

ASP.NET中DataGrid添加超链接、自定义显示示、页脚汇

近日较忙,很少来这里,后土软件的圈子也很久没有管理了;不过free和wowlion还是经常来发些文章,在此表示感谢!
    做WEB或WIN开发,整理出来了些用法,可时间一长就会忘记,每次做一个功能,都要打开原来的程序来看一看,找一找,有时一些软件较大,打开时还需要一些其他东东,所以很不方便,所以这次又做一个WEB下DATAGRID的程序,把整理好的东西放到这里,一方面方便查看,另一方面可以和与我一样懒的朋友共享,节约大家的时间!

 

所有操作均在DataGrid1_ItemDataBound事件中来完成,方便一些,省得到处改东西,很不便于移植。

        Private Sub DataGrid1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles DataGrid1.ItemDataBound
        Dim slTotal As Integer
        Dim jeTotal As Decimal
        If e.Item.ItemType = ListItemType.Item Or e.Item.ItemType = ListItemType.AlternatingItem Or e.Item.ItemType = ListItemType.SelectedItem Then

            '将数字显示为汉字,也可做其他各种转换
            Select Case e.Item.Cells(0).Text
                Case "1"
                    e.Item.Cells(0).Text = "一类"
                Case "2"
                    e.Item.Cells(0).Text = "二类"
                Case "3"
                    e.Item.Cells(0).Text = "三类"
                Case "4"
                    e.Item.Cells(0).Text = "四类"
                Case "5"
                    e.Item.Cells(0).Text = "五类"
                Case "6"
                    e.Item.Cells(0).Text = "六类"
                Case "7"
                    e.Item.Cells(0).Text = "七类"
                Case "8"
                    e.Item.Cells(0).Text = "八类"
                Case "9"
                    e.Item.Cells(0).Text = "九类"
                Case "10"
                    e.Item.Cells(0).Text = "十类"
            End Select

            '添加超链接列
            e.Item.Cells(1).Text = "<a href='dangansearch.aspx?DAH=" & e.Item.Cells(0).Text & "'>" & e.Item.Cells(1).Text & "</a>"
            ’自定义日期格式
            e.Item.Cells(3).Text = Format(CDate(e.Item.Cells(3).Text), "yyyy-MM-dd")
            '将空格显示为0
            If e.Item.Cells(7).Text = "&nbsp;" Then e.Item.Cells(7).Text = "0"

            '对数字字段时间汇总
            If e.Item.ItemType <> ListItemType.Footer Then
                slTotal += Double.Parse(e.Item.Cells(7).Text)
                jeTotal += Double.Parse(e.Item.Cells(8).Text)
                e.Item.Cells(8).Text = String.Format("{0:c}", Convert.ToDouble(e.Item.Cells(8).Text))
            End If

            '在按钮中添加事件,弹出模式对话框进行数据编辑
            If Page.Request("ps") = 1 Then
                CType(e.Item.Cells(9).FindControl("btnlist"), Button).Attributes.Add("onclick", "window.showModalDialog('fcxyjhll.aspx?ps=1&jhbm=" + e.Item.Cells(1).Text + "',0,'dialogWidth:900px;dialogHeight:500px;center:yes;status:no');")
            Else
                CType(e.Item.Cells(9).FindControl("btnlist"), Button).Attributes.Add("onclick", "window.showModalDialog('fcxyjhll.aspx?ps=0&jhbm=" + e.Item.Cells(1).Text + "',0,'dialogWidth:900px;dialogHeight:500px;center:yes;status:no');")
            End If

            '设置超链接列控件
            CType(e.Item.Cells(9).FindControl("link"), HyperLink).NavigateUrl = "fcxyjhll.aspx?jhbm=" & e.Item.Cells(1).Text & "&parent=fcxyjhtll&ps=" & Page.Request("ps")
        ElseIf e.Item.ItemType = ListItemType.Footer Then

            ’中页脚中显示统计的数据汇总值
            e.Item.Cells(7).Text = String.Format("{0:n}", slTotal)
            e.Item.Cells(8).Text = String.Format("{0:c}", jeTotal)
        End If

        '当鼠标移动到DATAGTID控件时,将以高亮度显示
        If e.Item.ItemType = ListItemType.Item Then
            e.Item.Attributes("onmouseover") = " '#eaeaea'"
            e.Item.Attributes("onmouseout") = " = '#E7E7FF'"
        Else
            If e.Item.ItemType = ListItemType.AlternatingItem Then
                e.Item.Attributes("onmouseover") = " '#eaeaea'"
                e.Item.Attributes("onmouseout") = " = '#F7F7F7'"
            End If
        End If
    End Sub