Click here to Skip to main content
Click here to Skip to main content
Technical Blog

Tagged as

Microsoft Chart Controls for the .Net Framework

, 2 Apr 2009 CPOL
Rate this:
Please Sign up or sign in to vote.
I haven't been impressed by any new technology in a long time…until I downloaded and tried out the new Microsoft Chart Controls for the .Net Framework. It contains charts for both Forms and Asp.Net applications. It was easy to put this chart in an Asp.Net page:      The Charts home page is here:

I haven't been impressed by any new technology in a long time…until I downloaded and tried out the new Microsoft Chart Controls for the .NET Framework. It contains charts for both Forms and Asp.Net applications. It was easy to put this chart in an Asp.Net page:

The Charts home page is here: http://code.msdn.microsoft.com/mschart

If you want to try it, you need to download these:

Chart Controls for .NET Framework

Chart Controls Add-on for Visual Studio 2008

Chart Controls for .NET Framework Documentation (optional)

To build the chart, I started with an SQLDataSource connected to the NorthWind database. I used a custom SQL String to sum up the sales for each week (7 days) given a beginning OrderDate. For the OrderDate parameter, I used a Calendar control.

I dropped a GridView onto the form and fired it up to make sure the data connectivity was working. Clicking dates on the Calendar, causes the GridView to update immediately.

Next, I dropped the Chart control from the Data tab of the ToolBox. I set the DataSourceID to be the same as the GridView's DataSourceID.

The number of settings in the Chart control can be a bit overwhelming at first but if you dig around and drill down, you will eventually find what you need: With power and flexibility comes complexity.

The final Asp markup code was surprisingly short:

<asp:Chart ID="Chart1" runat="server" 
    BackColor="LightSkyBlue" 
    BackGradientStyle="VerticalCenter"
    BackSecondaryColor="128, 128, 255" 
    BorderlineColor="Black" 
    BorderlineDashStyle="Solid"
    BorderlineWidth="3" 
    DataSourceID="SqlDataSource1" 
    Width="400px" Height="300px"
    Style=": 337px; : 18px; position: absolute">
    <Titles>
        <asp:Title Name="Title1" 
            Text="Weekly Sales by Day" 
            Font="Times New Roman, 12pt, style=Bold">
        </asp:Title>
    </Titles>
    <Series>
        <asp:Series Name="Series1"  
            XValueMember="OrderDate" 
            YValueMembers="OrdersTotal">
        </asp:Series>
    </Series>
    <ChartAreas>
        <asp:ChartArea Name="ChartArea1">
            <Area3DStyle Enable3D="True" />
            <AxisY Title="Dollars">
                <MinorGrid Enabled="True" />
                <LabelStyle Format="{0:C}" />
            </AxisY>
        </asp:ChartArea>
    </ChartAreas>
</asp:Chart>

Of course, I should remove the .00 from the Y Axis, increase the font size of the Y Axis Title, change the format of the X Axis labels to show the day of week, etc. There are tons (and I mean tons) of features with this control….you could spend hours tweaking this thing. But it sure looks good.

I hope you find this useful.

<asp:SqlDataSource ID="SqlDataSource1" runat="server" 
    ConnectionString="<%$ ConnectionStrings:NorthWind %>"
    SelectCommand="
    SELECT OrderDate, Sum(Quantity * Unitprice) as OrdersTotal 
    FROM Orders, [Order Details] 
    WHERE Orders.OrderID = [Order Details].OrderID AND 
       OrderDate BETWEEN @OrderDate AND dateadd(day, 7, @OrderDate) 
    GROUP BY OrderDate  
    ORDER BY OrderDate">

    <SelectParameters>
        <asp:ControlParameter 
            ControlID="Calendar1" 
            DefaultValue="7/30/1996" 
            Name="OrderDate"
            PropertyName="SelectedDate" />
    </SelectParameters>

</asp:SqlDataSource>

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

Share

About the Author

Steve Wellens
EndWell Software, Inc.
United States United States
I am an independent contractor/consultant working in the Twin Cities area in Minnesota. I work in .Net, Asp.Net, C#, C++, XML, SQL, Windows Forms, HTML, CSS, etc., etc., etc.

Comments and Discussions

 
GeneralMy vote of 4 PinmemberSupriya Srivastav28-Nov-11 19:57 
QuestionHow export chart to power point? Pinmembercelsoalejo26-Apr-10 6:43 
GeneralSilverlight Charting PinmemberMember 15626946-Apr-09 19:44 
GeneralRe: Silverlight Charting PinmemberMoodyz19-Aug-09 13:23 
GeneralNote PinmemberAngelo Cresta1-Apr-09 22:28 
GeneralRe: Note PinmemberSteve Wellens2-Apr-09 2:39 
GeneralRe: Note PinadminDavid Cunningham2-Apr-09 4:21 
GeneralRe: Note Pinmembermohit.raghav6-Apr-09 14:33 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

| Advertise | Privacy | Terms of Use | Mobile
Web03 | 2.8.1411023.1 | Last Updated 2 Apr 2009
Article Copyright 2009 by Steve Wellens
Everything else Copyright © CodeProject, 1999-2014
Layout: fixed | fluid