ASP.NET似乎少不了DataGrid,应用过程中多少会用到单击/双击等等事件处理,我在工作中封装了一些函数,希望对大家有用。做了多次重载,应付多种情况。
Public Enum enumControlType
ctLinkButton
ctImageButton
ctRequiredFieldValidator
ctRadioButton
ctRangeValidator
End Enum
#Region "DataGrid控制"
Public Shared Sub ConfirmDBGridItemClick(ByVal e As DataGridItemEventArgs, _
ByVal strName As String, _
ByVal strMessage As String, _
Optional ByVal strText As String = "", _
Optional ByVal blnConfirm As Boolean = True, _
Optional ByVal blnCustomScript As Boolean = False, _
Optional ByVal strCommandName As String = "", _
Optional ByVal udeControlType As enumControlType = enumControlType.ctLinkButton, _
Optional ByVal strToolTip As String = "")
'名称:ConfirmDBGridItemClick
'功能:确认表格行按钮(同时处理多语言)
'作者:chs
'创建:2004/4/12
'修改:2004/4/27 14:38
'参数::
' :
'返回:成功,True,反之,False
'说明:
ConfirmDBGridItemClick(e.Item, strName, strMessage, strText, blnConfirm, blnCustomScript, strCommandName, udeControlType, strToolTip)
End Sub
Public Shared Sub ConfirmDBListItemClick(ByVal e As DataListItemEventArgs, _
ByVal strName As String, _
ByVal strMessage As String, _
Optional ByVal strText As String = "", _
Optional ByVal blnConfirm As Boolean = True, _
Optional ByVal blnCustomScript As Boolean = False, _
Optional ByVal strCommandName As String = "", _
Optional ByVal udeControlType As enumControlType = enumControlType.ctLinkButton, _
Optional ByVal strToolTip As String = "")
'名称:ConfirmDBListItemClick
'功能:确认表格行按钮(同时处理多语言)
'作者:chs
'创建:2004/4/12
'修改:2004/4/27 14:38
'参数::
' :
'返回:成功,True,反之,False
'说明:
ConfirmDBListItemClick(e.Item, strName, strMessage, strText, blnConfirm, blnCustomScript, strCommandName, udeControlType, strToolTip)
End Sub
Public Shared Sub ConfirmDBListItemClick(ByRef dliItem As DataListItem, _
ByVal strName As String, _
ByVal strMessage As String, _
Optional ByVal strText As String = "", _
Optional ByVal blnConfirm As Boolean = True, _
Optional ByVal blnCustomScript As Boolean = False, _
Optional ByVal strCommandName As String = "", _
Optional ByVal udeControlType As enumControlType = enumControlType.ctLinkButton, _
Optional ByVal strToolTip As String = "")
'名称:ConfirmDBListItemClick
'功能:确认表格行按钮(同时处理多语言)
'作者:chs
'创建:2004/4/12
'修改:2004/4/29 09:33
'参数::
' :
'返回:成功,True,反之,False
'说明:
With dliItem
If .ItemIndex >= 0 Then
Select Case udeControlType
Case enumControlType.ctLinkButton
Dim o_lkbItem As LinkButton
o_lkbItem = .FindControl(strName)
ConfirmDBGridItemClick(o_lkbItem, strMessage, strText, blnConfirm, blnCustomScript, strCommandName, strToolTip)
Case enumControlType.ctImageButton
Dim o_imbItem As ImageButton
o_imbItem = .FindControl(strName)
ConfirmDBGridItemClick(o_imbItem, strMessage, strText, blnConfirm, blnCustomScript, strCommandName, strToolTip)
Case enumControlType.ctRequiredFieldValidator
Dim o_rfvItem As RequiredFieldValidator
o_rfvItem = .FindControl(strName)
ConfirmDBGridItemClick(o_rfvItem, strMessage)
Case enumControlType.ctRadioButton
Dim o_rdbItem As RadioButton
o_rdbItem = .FindControl(strName)
ConfirmDBGridItemClick(o_rdbItem, strText)
Case enumControlType.ctRangeValidator
Dim o_rdbItem As RangeValidator
o_rdbItem = .FindControl(strName)
ConfirmDBGridItemClick(o_rdbItem, strText)
End Select
End If
End With
End Sub
Public Shared Sub ConfirmDBGridItemClick(ByRef dgiItem As DataGridItem, _
ByVal strName As String, _
ByVal strMessage As String, _
Optional ByVal strText As String = "", _
Optional ByVal blnConfirm As Boolean = True, _
Optional ByVal blnCustomScript As Boolean = False, _
Optional ByVal strCommandName As String = "", _
Optional ByVal udeControlType As enumControlType = enumControlType.ctLinkButton, _
Optional ByVal strToolTip As String = "")
'名称:ConfirmDBGridItemClick
'功能:确认表格行按钮(同时处理多语言)
'作者:chs
'创建:2004/4/12
'修改:2004/4/29 09:33
'参数::
' :
'返回:成功,True,反之,False
'说明:
With dgiItem
If .ItemIndex >= 0 Then
Select Case udeControlType
Case enumControlType.ctLinkButton
Dim o_lkbItem As LinkButton
o_lkbItem = .FindControl(strName)
ConfirmDBGridItemClick(o_lkbItem, strMessage, strText, blnConfirm, blnCustomScript, strCommandName, strToolTip)
Case enumControlType.ctImageButton
Dim o_imbItem As ImageButton
o_imbItem = .FindControl(strName)
ConfirmDBGridItemClick(o_imbItem, strMessage, strText, blnConfirm, blnCustomScript, strCommandName, strToolTip)
Case enumControlType.ctRequiredFieldValidator
Dim o_rfvItem As RequiredFieldValidator
o_rfvItem = .FindControl(strName)
ConfirmDBGridItemClick(o_rfvItem, strMessage)
Case enumControlType.ctRadioButton
Dim o_rdbItem As RadioButton
o_rdbItem = .FindControl(strName)
ConfirmDBGridItemClick(o_rdbItem, strText)
End Select
End If
End With
End Sub
Public Shared Sub ConfirmDBGridItemClick(ByRef rdbItem As RadioButton, _
ByVal strText As String)
'名称:ConfirmDBGridItemClick
'功能:确认表格行按钮(同时处理多语言)
'作者:chs
'创建:2004/4/12
'修改:2004/4/29 09:33
'参数::
' :
'返回:成功,True,反之,False
'说明:
If Not rdbItem Is Nothing Then
With rdbItem
.Text=strText
End With
End If
End Sub
Public Shared Sub ConfirmDBGridItemClick(ByRef rfvItem As RangeValidator, _
ByVal strMessage As String)
'名称:ConfirmDBGridItemClick
'功能:确认表格行按钮(同时处理多语言)
'作者:chs
'创建:2004/4/12
'修改:2004/4/29 09:33
'参数::
' :
'返回:成功,True,反之,False
'说明:
If Not rfvItem Is Nothing Then
With rfvItem
.ErrorMessage=strMessage
End With
End If
End Sub
Public Shared Sub ConfirmDBGridItemClick(ByRef rfvItem As RequiredFieldValidator, _
ByVal strMessage As String)
'名称:ConfirmDBGridItemClick
'功能:确认表格行按钮(同时处理多语言)
'作者:chs
'创建:2004/4/12
'修改:2004/4/29 09:33
'参数::
' :
'返回:成功,True,反之,False
'说明:
If Not rfvItem Is Nothing Then
With rfvItem
.ErrorMessage=strMessage
End With
End If
End Sub
Public Shared Sub ConfirmDBGridItemClick(ByRef imbButton As ImageButton, _
ByVal strMessage As String, _
Optional ByVal strText As String = "", _
Optional ByVal blnConfirm As Boolean = True, _
Optional ByVal blnCustomScript As Boolean = False, _
Optional ByVal strCommandName As String = "", _
Optional ByVal strToolTip As String = "")
'名称:ConfirmDBGridItemClick
'功能:确认表格行按钮(同时处理多语言)
'作者:chs
'创建:2004/4/12
'修改:2004/4/29 09:33
'参数::
' :
'返回:成功,True,反之,False
'说明:
If Not imbButton Is Nothing Then
With imbButton
If blnConfirm Then
Dim o_strScript As String
If blnCustomScript Then
o_strScript = strText
Else
o_strScript = "return confirm('" & strMessage & "')"
End If
.Attributes.Add("onclick", o_strScript)
End If
.CommandName, strCommandName)
.ToolTip=strToolTip
End With
End If
End Sub
Public Shared Sub ConfirmDBGridItemClick(ByRef lkbButton As LinkButton, _
ByVal strMessage As String, _
Optional ByVal strText As String = "", _
Optional ByVal blnConfirm As Boolean = True, _
Optional ByVal blnCustomScript As Boolean = False, _
Optional ByVal strCommandName As String = "", _
Optional ByVal strToolTip As String = "")
'名称:ConfirmDBGridItemClick
'功能:确认表格行按钮(同时处理多语言)
'作者:chs
'创建:2004/4/12
'修改:2004/4/29 09:33
'参数::
' :
'返回:成功,True,反之,False
'说明:
If Not lkbButton Is Nothing Then
With lkbButton
If blnConfirm Then
Dim o_strScript As String
If blnCustomScript Then
o_strScript = strMessage 'strText
Else
o_strScript = "return confirm('" & strMessage & "')"
End If
.Attributes.Add("onclick", o_strScript)
End If
.Text=strText
.CommandName=strCommandName
.ToolTip=strToolTip
End With
End If
End Sub
#End Region