GridView заморозить столбец для экспорта xls - PullRequest
0 голосов
/ 03 октября 2018

В моем веб-проекте я загружаю файл xls.Я создаю сетку с нужными мне данными и загружаю.После того, как я открою Excel, мне нужно заблокировать столбец.

Мой код выглядит следующим образом:

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();
}

Код работает правильно, единственное, что мне нужно, это уметьреализовать опцию блокировки или замораживания столбца.

grid.Columns[0].Frozen = true;
grid.Rows[0].CssClass = "locked";

Я нашел эти решения, но они не работают для GridView.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...