Block or freeze columns or rows with GridView

0

In my web project I downloaded an xls file, which I generated through a GridView. The file opens correctly and shows the correct data.

The code is as follows:

private DataTable tableExcel;
public ActionResult returnExcel(HttpResponseBase response, string name)
{                       
    var grid = new GridView();
    grid.DataSource = tableExcel;
    grid.DataBind(); 

    GridViewRow HeaderGridRow = new GridViewRow(0, 0, DataControlRowType.Header, DataControlRowState.Insert);

    TableCell HeaderCell = new TableCell();                    
    HeaderCell = new TableCell();
    HeaderCell.Text = h.text;
    HeaderCell.ColumnSpan = colunesSpan;
    HeaderCell.Font.Bold = h.negreta;
    HeaderCell.HorizontalAlign = h.aliniacio;
    HeaderGridRow.Cells.Add(HeaderCell);
    HeaderGrid.Controls[0].Controls.AddAt(0, HeaderGridRow);

    response.ClearContent();
    response.Buffer = true;
    response.AddHeader("content-disposition", $"attachment; filename={name}.xls");
    response.ContentType = "application/ms-excel";

    response.Charset = "";
    StringWriter sw = new StringWriter();
    HtmlTextWriter htw = new HtmlTextWriter(sw);            

    grid.RenderControl(htw);            

    response.Output.Write(sw.ToString());
    response.Flush();
    response.End();
}

What I'm trying to do is apply a style to block or fix a column of that excel. But the following solutions have not worked for GridView.

grid.Columns[0].Frozen = true;
grid.Rows[0].CssClass = "locked";
    
asked by Geo 03.10.2018 в 22:31
source

0 answers