Installatie en gebruik ms Chart Control

Miscrosft Chart Control is errug handig voor het visualiseren van data, ofwel het maken van grafiekjes onder het mom van 1 grafiek zeggen meer als 1000 woorden etc.

Het control kun je hier dowloaden:
http://www.microsoft.com/downloads/details.aspx?FamilyId=130F7986-BF49-4FE5-9CA8-910AE6EA442C&displaylang=en

De Add-on kun je hier downloaden:
http://www.microsoft.com/downloads/info.aspx?na=47&p=1&SrcDisplayLang=en&SrcCategoryId=&SrcFamilyId=130f7986-bf49-4fe5-9ca8-910ae6ea442c&u=details.aspx%3ffamilyid%3d1D69CE13-E1E5-4315-825C-F14D33A303E9%26displaylang%3den

Voorbeelden van gebruik van de Chart control kun je van msdn downloaden:
http://code.msdn.microsoft.com/mschart

Voor het gebruik van het control moet je de volgende web-config aanpassingen maken in system.webserver handles:

<add name="ChartImageHandler" preCondition="integratedMode" verb="GET,HEAD" path="ChartImg.axd" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>

Er is een key beschikbaar voor httphandler. Deze key geeft dan aan waar de image location e.d. moet komen. Die slaan we over omdat dit bij mijn testen van het control niet werkte. Het zetten van de image location in code werkte wel, vandaar.

Code voor gebruik van de Chart control:

 

            this.db = new mijnDBDataContext();
            db.Connection.ConnectionString = this.GetConnectionString();

            System.Web.UI.DataVisualization.Charting.Chart mijnChart = new System.Web.UI.DataVisualization.Charting.Chart();
            mijnChart.ImageStorageMode = System.Web.UI.DataVisualization.Charting.ImageStorageMode.UseImageLocation ;
            mijnChart.ImageLocation = "~/Temp/ChartPicture_.png";

            var query = from a in db.app_Indicatorens
                        select new { a.IndicatorCode, a.IndicatorSort };

            mijnChart.DataSource = query ;
            mijnChart.Series.Add("a");
            mijnChart.ChartAreas.Add("default");
            mijnChart.Series["a"].Points.DataBindXY(query.ToList(), "IndicatorCode", query.ToList(), "IndicatorSort"); 
            // mijnChart.Series["a"].Point(query, "IndicatorCode", "IndicatorSort",null );


            mijnChart.DataBind();
            mijnChart.Visible = true;

Let op dat als je meerdere Chart controls gaat gebruiken die chart imagelocation uniek per chart moet zijn.
De chart series en chartareas worden hier in code gemaakt ( code is nl voor een sharepoint webpart), normaal gesproken met het asp control staan deze al in het control voorgedefineerd.

{{opmerking.Naam}}:

{{opmerking.OpmerkingText}}

            

Saving your comment....

Naam is verplicht!
Email is verplicht!
Opmerking is verplicht!