ComponentOne
Web API Explorer ASP.NET Web API Explorer

Frozen Cells

Frozen Cells

Features

Settings


Export
Export Name :

Description

This sample demonstrates how to export a mvc flexgrid with frozen cells to excel file.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using C1.Web.Mvc;
using C1.Web.Mvc.Serialization;
using Microsoft.AspNetCore.Mvc;
using WebApiExplorer.Models;

namespace WebApiExplorer.Controllers
{
    public partial class MVCFlexGridController : Controller
    {
        private readonly GridExportImportOptions _flexGridFrozenCellsModel = new GridExportImportOptions
        {
            NeedExport = true,
            NeedImport = false,
            IncludeColumnHeaders = true
        };

        public IActionResult FrozenCells()
        {
            ViewBag.Options = _flexGridFrozenCellsModel;
            ViewBag.DemoSettingsModel = new ClientSettingsModel
            {
                Settings = new Dictionary<string, object[]>
                {
                    {"FrozenColumns", new object[]{1, 0, 2, 3}},
                    {"FrozenRows", new object[]{2, 0, 1, 3, 4, 5}}
                }
            };
            return View();
        }

        public IActionResult FrozenCells_Bind([C1JsonRequest] CollectionViewRequest<Sale> requestData)
        {
            return this.C1Json(CollectionViewHelper.Read(requestData, Sale.GetData(100)));
        }
    }
}
@{
    ClientSettingsModel demoSettingsModel = ViewBag.DemoSettingsModel;
    GridExportImportOptions optionsModel = ViewBag.Options;
    ViewBag.DemoSettings = true;
}

<c1-flex-grid id="@optionsModel.ControlId" auto-generate-columns="false" class="grid" is-read-only="true" frozen-columns="1" frozen-rows="2">
    <c1-items-source read-action-url="@Url.Action("FrozenCells_Bind")"></c1-items-source>
    <c1-flex-grid-column binding="ID"></c1-flex-grid-column>
    <c1-flex-grid-column binding="Start" format="MMM d yy"></c1-flex-grid-column>
    <c1-flex-grid-column binding="End" format="HH:mm"></c1-flex-grid-column>
    <c1-flex-grid-column binding="Country"></c1-flex-grid-column>
    <c1-flex-grid-column binding="Product"></c1-flex-grid-column>
    <c1-flex-grid-column binding="Color"></c1-flex-grid-column>
    <c1-flex-grid-column binding="Amount" format="c"></c1-flex-grid-column>
    <c1-flex-grid-column binding="Amount2" format="c"></c1-flex-grid-column>
    <c1-flex-grid-column binding="Discount" format="p0"></c1-flex-grid-column>
    <c1-flex-grid-column binding="Active"></c1-flex-grid-column>
</c1-flex-grid>

@section Settings{
    @await Html.PartialAsync("_FlexGridOptions", optionsModel)
}

@section Description{
    @Html.Raw(MVCFlexGrid.FrozenCells_Text0)
}