zoukankan      html  css  js  c++  java
  • 我最近写的DataGrid合并/删除相同列通用函数,跟大家分享

    鉴于相当多页面都要做合并列,我最近写了DataGrid合并/删除相同列通用函数,跟大家分享。
        Public Shared Sub DBGridSpanCell(ByRef dgdData As DataGrid, _
                                         ByVal intColumnItem As Integer, _
                                         ByVal intColumnStart As Integer, _
                                         ByVal intColumnEnd As Integer, _
                                         Optional ByVal intSpan As Integer = 2)
            '名称:DBGridSpanCell
            '功能:合并/删除相同的项目名
            '作者:dzt
            '创建:2004/1/1
            '修改:2004/1/1
            '参数:dgdData:DataGrid对象
            '      intColumnItem:要合并列
            '      intColumnStart:合并起始列
            '      intColumnEnd:合并结束列
            '      intSpan:跨行数
            '返回:成功,True,反之,False
            '说明:

            Dim i As Integer
            Dim o_intCols As Integer
            Dim iSpan As Integer = intSpan '跨行数
            Dim iRow As Integer = 0 '开始的跨行
            Dim sItem As String
            Dim sColumnText As String
            Dim ColumnType As Type
            Dim ctl As System.Web.UI.Control

            With dgdData.Items
                For i = 0 To .Count - 1
                    With .Item(i)
                        ColumnType = dgdData.Columns(intColumnItem).GetType
                        '模板列,label
                        If ColumnType Is GetType(TemplateColumn) Then
                            For Each ctl In dgdData.Items(i).Cells(intColumnItem).Controls
                                If ctl.GetType Is GetType(Label) Then
                                    sColumnText = CType(ctl, Label).Text
                                    Exit For
                                End If
                            Next
                        Else
                            sColumnText = .Cells(intColumnItem).Text
                        End If

                        ' If .Cells(intColumnItem).Text = sItem Then
                        If sColumnText = sItem Then
                            For o_intCols = intColumnStart To intColumnEnd
                                dgdData.Items(iRow).Cells(o_intCols).RowSpan = iSpan
                                .Cells(o_intCols).Visible = False
                            Next

                            iSpan += 1
                        Else
                            iRow = i
                            iSpan = intSpan
                            'sItem = .Cells(intColumnItem).Text
                            sItem = sColumnText
                        End If
                    End With
                Next
            End With
        End Sub

  • 相关阅读:
    Java 添加OLE对象到Excel文档
    【51Nod1769】Clarke and math2(数论,组合数学)
    【UOJ#308】【UNR#2】UOJ拯救计划
    【UOJ#390】【UNR#3】百鸽笼(动态规划,容斥)
    【UOJ#389】【UNR#3】白鸽(欧拉回路,费用流)
    【UOJ#388】【UNR#3】配对树(线段树,dsu on tree)
    【UOJ#386】【UNR#3】鸽子固定器(贪心)
    【Wannafly挑战赛29F】最后之作(Trie树,动态规划,斜率优化)
    【洛谷5439】【XR-2】永恒(树链剖分,线段树)
    【洛谷5437】【XR-2】约定(拉格朗日插值)
  • 原文地址:https://www.cnblogs.com/unruledboy/p/10460.html
Copyright © 2011-2022 走看看