我最近写的DataGrid合并/删除相同列通用函数,跟大家分享
2004-05-20 11:30 灵感之源 阅读(2431) 评论(2) 编辑 收藏 举报鉴于相当多页面都要做合并列,我最近写了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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架