代码改变世界

DataGrid/DataList封装操作函数库!

  灵感之源  阅读(3156)  评论(4编辑  收藏  举报

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

编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示