How to use Rowspan in Gridview for 1st Column only

前端 未结 3 1954
遥遥无期
遥遥无期 2020-12-17 20:47

Need help to resolve a issue related with Gridview layout. I am trying to implement custome Gridview with Itemtemplate Columns using C#.Net language and want to include view

相关标签:
3条回答
  • 2020-12-17 21:29
     protected void GridView31_DataBound1(object sender, EventArgs e)
    {
        int i = 1;
        for (int rowIndex = grdView31.Rows.Count - 2; rowIndex >= 0; rowIndex--)
        {
            GridViewRow gvRow = grdView31.Rows[rowIndex];
            GridViewRow gvPreviousRow = grdView31.Rows[rowIndex + 1];
    
            if (i % 4 !=0)
            {
                if (gvPreviousRow.Cells[0].RowSpan < 2)
                {
                    gvRow.Cells[0].RowSpan = 2;
                }
                else
                {
                    gvRow.Cells[0].RowSpan = gvPreviousRow.Cells[0].RowSpan + 1;
                }
                gvPreviousRow.Cells[0].Visible = false;
            }
            i++;
        }
    

    This worked our for me. Trial & error :)

    0 讨论(0)
  • 2020-12-17 21:34
        'VB.NET Code
    
    
    Private Sub DG_Data_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles DG_Data.RowDataBound
                Try
    
                    'fusion , rowspan , colspan , 
                    If e.Row.RowType = DataControlRowType.DataRow Then
                        If e.Row.RowIndex Mod 4 = 0 Then
                            e.Row.Cells(0).Attributes.Add("rowspan", "4")
                        Else
                            e.Row.Cells(0).Visible = False
                        End If
                    End If
    
    
    
                Catch ex As Exception
                    jq.msgErrorLog(ex)
                End Try
            End Sub
    
    0 讨论(0)
  • 2020-12-17 21:42

    Use RowDataBound event instead:

    void GridView31_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow )
        {
            if (e.Row.RowIndex % 4 == 0)
            {
                e.Row.Cells[0].Attributes.Add("rowspan", "4");
            }
            else
            {
                e.Row.Cells[0].Visible = false;
            }
        }
    }
    
    0 讨论(0)
提交回复
热议问题