ComponentOne
Web API Explorer ASP.NET Web API Explorer

Labels

Labels

Features

Settings

Export
Export Format :
Height :
Width :
Export Name :

Description

This sample demonstrates how to export a MVC FlexChart with different labels to image file.
using C1.Web.Mvc.Chart;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using WebApiExplorer.Models;

namespace WebApiExplorer.Controllers
{
    public partial class MVCFlexChartController : Controller
    {
        const string CHART_TYPE = "ChartType";
        const string DATA_LABEL_POSITION = "DataLabel.Position";
        const string DATA_LABEL_BORDER = "DataLabel.Border";

        private static IDictionary<string, object[]> CreateLabelSettings()
        {
            var settings = new Dictionary<string, object[]>
            {
                {CHART_TYPE, new object[]{"Column", "Bar", "Scatter", "Line", "LineSymbols", "Area", "Spline", "SplineSymbols", "SplineArea"}},
                {DATA_LABEL_POSITION, new object[]{LabelPosition.Top, LabelPosition.Right, LabelPosition.Bottom, LabelPosition.Left, LabelPosition.None}},
                {DATA_LABEL_BORDER, new object[]{false, true}},
            };

            return settings;
        }

        public ActionResult Labels()
        {
            var model = new ClientSettingsModel
            {
                Settings = CreateLabelSettings(),
                HeaderNames = new Dictionary<string, string>
                {
                    {CHART_TYPE, Resources.Wijmo5FlexChart.Labels_ChartType },
                    {DATA_LABEL_POSITION, Resources.Wijmo5FlexChart.Labels_LabelPosition },
                    {DATA_LABEL_BORDER, Resources.Wijmo5FlexChart.Labels_LabelsBorder }
                }
            };
            ViewBag.Options = _flexChartModel;
            return View(model);
        }
    }
}
@model ClientSettingsModel
@{
    ViewBag.DemoSettings = true;
    ImageExportOptions optionsModel = ViewBag.Options;
    ViewBag.DemoSettingsModel = Model;
    IEnumerable<Fruit> fruits = Fruit.GetFruitsSales();
}

@(Html.C1().FlexChart().Id(optionsModel.ControlId).Bind("Name", fruits).Series(sers =>
{
    sers.Add().Binding("MarPrice").Name("March");
    sers.Add().Binding("AprPrice").Name("April");
    sers.Add().Binding("MayPrice").Name("May");
}).DataLabel(dl => dl.Position(C1.Web.Mvc.Chart.LabelPosition.Top).Content("{y}")))

@section Settings{
    @Html.Partial("_ImageExportOptions", optionsModel)
}

@section Description{
    @Html.Raw(Resources.MVCFlexChart.Labels_Text0)
}