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 = " " 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