ComponentOne
Web API Explorer ASP.NET Web API Explorer

MVCFlexGrid

Remote Data Bind

This sample demonstrates how to export a mvc flexgrid with the data from some Action to excel file.

Features

ID
Start
End
Country
Product
Color
Amount
Amount2
Discount
Active
loading...

Settings


Export
Export Name :

Description

This sample demonstrates how to export a mvc flexgrid with the data from some Action to excel file.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using C1.Web.Mvc;
using C1.Web.Mvc.Serializition;
using WebApiExplorer.Models;
 
namespace WebApiExplorer.Controllers
{
    public partial class MVCFlexGridController : Controller
    {
        private readonly GridExportImportOptions _flexGridRemoteBindModel = new GridExportImportOptions
        {
            NeedExport = true,
            NeedImport = false,
            IncludeColumnHeaders = true
        };
 
        public ActionResult RemoteBind_Read([C1JsonRequest] CollectionViewRequest<Sale> requestData)
        {
            return this.C1Json(CollectionViewHelper.Read(requestData, Sale.GetData(500)));
        }
 
        public ActionResult RemoteBind()
        {
            ViewBag.Options = _flexGridRemoteBindModel;
            return View();
        }
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
@using WebApiExplorer.Models
@using C1.Web.Mvc.Grid
@{
    GridExportImportOptions optionsModel = ViewBag.Options;
    ViewBag.DemoSettings = true;
}
 
@(Html.C1().FlexGrid().Id(optionsModel.ControlId)
    .AutoGenerateColumns(false)
    .AllowSorting(true)
    .IsReadOnly(true)
    .Bind(bl => bl.InitialItemsCount(10).Bind(Url.Action("RemoteBind_Read")))
    .CssClass("grid")
    .SelectionMode(SelectionMode.Row).Filterable()
    .Columns(columns =>
    {
        columns.Add(column => column.Binding("ID"));
        columns.Add(column => column.Binding("Start").Format("MMM d yy"));
        columns.Add(column => column.Binding("End").Format("HH:mm"));
        columns.Add(column => column.Binding("Country"));
        columns.Add(column => column.Binding("Product"));
        columns.Add(column => column.Binding("Color"));
        columns.Add(column => column.Binding("Amount").Format("c"));
        columns.Add(column => column.Binding("Amount2").Format("c"));
        columns.Add(column => column.Binding("Discount").Format("p0"));
        columns.Add(column => column.Binding("Active"));
    })
)
 
@section Settings{
    @Html.Partial("_FlexGridOptions", optionsModel)
}
 
@section Description{
    @Html.Raw(Resources.MVCFlexGrid.RemoteBind_Text0)
}