Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Mike Lewis on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Dynamic changing rowspan in GridView

Status
Not open for further replies.

tshad

Programmer
Jul 15, 2004
386
US
I am trying to add rowspans to the first 3 columns in my grid so that repeating values don't display.

I am starting with the 1st column of the grid.

What I am doing is saving the value of the cell when it changes and if it changes I save the new value and the cell of the row I want to change the rowspan to.

The problem is that when I change the value of the rowspan the row moves to the right and all the values are in the wrong columns. This sort of makes sense but I don't know how to solve it.

What I want to have happen is not move the value of the column at all into the grid if the rowspan is merging the row.

I am doing this in the RowDataBound event. Should it be done somewhere else?

Code:
public string PreviousDate { get; set; }
public int DateRowSpan { get; set; }

protected void gvShipPlan_RowDataBound(Object sender, GridViewRowEventArgs e)
{
    GridView gv = (GridView)sender;

    if (e.Row.RowType == DataControlRowType.DataRow)
    {
        if (PreviousDate != e.Row.Cells[0].Text)
        {
            PreviousDate = e.Row.Cells[0].Text;
            DateRowSpan = e.Row.RowIndex;
        }
        else
        {
            //Increase the rowspan row count by one
            gv.Rows[DateRowSpan].Cells[0].RowSpan = gv.Rows[DateRowSpan].Cells[0].RowSpan + 2;
        }
    }
}

Thanks,

Tom
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top