Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 合并中继器记录的行单元格_Asp.net_Vb.net - Fatal编程技术网

Asp.net 合并中继器记录的行单元格

Asp.net 合并中继器记录的行单元格,asp.net,vb.net,Asp.net,Vb.net,当活动代码和车辆编号重复出现时,我尝试合并行单元格,如下图所示。下面列出的结果是gridview页面大小为20 问题 例如,当网格视图页面大小设置为2时,行单元格不再合并。结果显示每个分离的记录 如果活动代码按升序/降序排序,则即使活动代码与车辆编号匹配,最后一个记录行单元格也不会合并。下图显示了按升序排序的活动代码。因此,当活动代码按降序排序时,所有CMP002都将合并,而CMP001的最后一条记录将不再合并,如下图所示 代码隐藏 Private Sub GV_RowDataBound(se

当活动代码和车辆编号重复出现时,我尝试合并行单元格,如下图所示。下面列出的结果是gridview页面大小为20

问题

  • 例如,当网格视图页面大小设置为2时,行单元格不再合并。结果显示每个分离的记录
  • 如果活动代码按升序/降序排序,则即使活动代码与车辆编号匹配,最后一个记录行单元格也不会合并。下图显示了按升序排序的活动代码。因此,当活动代码按降序排序时,所有CMP002都将合并,而CMP001的最后一条记录将不再合并,如下图所示
  • 代码隐藏

     Private Sub GV_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GV.RowDataBound
    
        For rowIndex As Integer = GV.Rows.Count - 2 To 0 Step -1
    
            Dim gvRow As GridViewRow = GV.Rows(rowIndex)
            Dim gvPreviousRow As GridViewRow = GV.Rows(rowIndex + 1)
            Dim sCurrCampaignCode As String = GV.DataKeys(rowIndex).Values("CAMPAIGN_CODE")
            Dim sCurrVehicleNo As String = GV.DataKeys(rowIndex).Values("VEHICLE_NO")
            Dim sPreviousCampaignCode As String = GV.DataKeys(rowIndex + 1).Values("CAMPAIG_CODE")
            Dim sPreviousVehicleNo As String = GV.DataKeys(rowIndex + 1).Values("VEHICLE_NO")
    
    
            If sCurrCampaignCode = sPreviousCampaignCode AndAlso sCurrVehicleNo = sPreviousVehicleNo Then
    
                If sCurrCampaignCode = sPreviousCampaignCode Then
    
                        If gvPreviousRow.Cells(1).RowSpan < 2 Then
                            gvRow.Cells(1).RowSpan = 2
                            gvRow.Cells(2).RowSpan = 2
                            gvRow.Cells(3).RowSpan = 2
                        Else
                            gvRow.Cells(1).RowSpan = gvPreviousRow.Cells(1).RowSpan + 1
                            gvRow.Cells(2).RowSpan = gvPreviousRow.Cells(2).RowSpan + 1
                            gvRow.Cells(3).RowSpan = gvPreviousRow.Cells(3).RowSpan + 1
                        End If
    
                        gvPreviousRow.Cells(1).Visible = False
                        gvPreviousRow.Cells(2).Visible = False
                        gvPreviousRow.Cells(3).Visible = False
                End If
    
            End If
    
        Next
    
    End Sub
    
    Private子GV_RowDataBound(发送方作为对象,e作为GridViewRowEventArgs)处理GV.RowDataBound
    对于rowIndex As Integer=GV.Rows.Count-2到0步骤-1
    将gvRow标注为GridViewRow=GV.Rows(行索引)
    Dim gvPreviousRow作为GridViewRow=GV.Rows(rowIndex+1)
    Dim SCURRAMPAINTCODE作为字符串=GV.DataKeys(rowIndex).value(“活动代码”)
    Dim SCRURRVICELENO作为字符串=GV.数据键(行索引).值(“车辆号”)
    Dim SPREVIOUSAMPAINCODE作为字符串=GV.DataKeys(行索引+1).Values(“CAMPAIG_代码”)
    Dim sPreviousVehicleNo作为字符串=GV.数据键(行索引+1).值(“车辆号”)
    如果疾驰活动代码=sPrevious活动代码且疾驰车辆否=sPrevious车辆否,则
    如果匆匆活动代码=sPreviousCampaignCode,则
    如果gvPreviousRow.Cells(1).RowSpan<2,则
    gvRow.Cells(1).RowSpan=2
    gvRow.Cells(2).RowSpan=2
    gvRow.Cells(3).RowSpan=2
    其他的
    gvRow.Cells(1).RowSpan=gvPreviousRow.Cells(1).RowSpan+1
    gvRow.Cells(2).RowSpan=gvPreviousRow.Cells(2).RowSpan+1
    gvRow.Cells(3).行span=gvPreviousRow.Cells(3).行span+1
    如果结束
    gvPreviousRow.Cells(1).Visible=False
    gvPreviousRow.Cells(2).Visible=False
    gvPreviousRow.Cells(3).Visible=False
    如果结束
    如果结束
    下一个
    端接头
    

    我刚刚找到了一个解决办法。代码必须从RowDataBound移动到OnDataBound