This is a migrated thread and some comments may be shown as answers.

ChartSeriesItem

2 Answers 120 Views
Chart (Obsolete)
This is a migrated thread and some comments may be shown as answers.
Nate Pinchot
Top achievements
Rank 1
Nate Pinchot asked on 20 Oct 2008, 09:19 PM
Hello,
I am using codebehind to add items to the chart because I can't make it group the items the way I want it to when using a LINQ query. I attempted to use your "Dynamic Databinding" example on the website to try and help me accomplish what I need to but found it utterly confusing (would be nice if you would comment your examples).

Anyway, my chart has 2 series - 1 for open orders and 1 for in progress. The chart works fine in the aspect of displaying bars however I would like to see the customer names below the bars on the X axis and I can't for the life of me figure out how to do this. I tried using ChartAxisItem and adding to the collection but it doesn't do anything.

Please help.

My grid aspx code:
    <telerik:RadChart ID="rcOrders" runat="server" Skin="LightBlue"  
        Width="710px" SeriesOrientation="Vertical" AutoLayout="false"
        <Series> 
            <telerik:ChartSeries Name="Open"
            </telerik:ChartSeries> 
        </Series> 
        <Series> 
            <telerik:ChartSeries Name="WIP"
            </telerik:ChartSeries> 
        </Series> 
        <PlotArea> 
            <XAxis> 
                <AxisLabel> 
                    <Appearance RotationAngle="270"
                    </Appearance> 
                </AxisLabel> 
            </XAxis> 
            <YAxis> 
                <AxisLabel> 
                    <Appearance RotationAngle="0"
                    </Appearance> 
                </AxisLabel> 
            </YAxis> 
            <YAxis2> 
                <AxisLabel> 
                    <Appearance RotationAngle="0"
                    </Appearance> 
                </AxisLabel> 
            </YAxis2> 
        </PlotArea> 
        <ChartTitle TextBlock-Visible="false"></ChartTitle> 
    </telerik:RadChart> 

My codebehind code which adds the values to the chart:
var orderStatusesByCompanyQuery = from o in database.Orders 
                                  join c in database.Companies on o.CompanyId equals c.CompanyId 
                                  join os in database.OrderStatuses on o.StatusId equals os.StatusId 
                                  where o.Active == true && c.Active == true && os.Active == true && os.StatusId != 3 
                                  group o 
                                    by new { CompanyId = o.CompanyId, CompanyName = c.ShortDisplayName, StatusId = os.StatusId, StatusDisplayName = os.ShortDisplayName } 
                                    into grouping 
                                  orderby grouping.Key.CompanyName 
                                  select new 
                                  { 
                                      CompanyId = grouping.Key.CompanyId, 
                                      CompanyName = grouping.Key.CompanyName, 
                                      StatusId = grouping.Key.StatusId, 
                                      StatusDisplayName = grouping.Key.StatusDisplayName, 
                                      StatusCount = grouping.Count() 
                                  }; 
 
foreach (var orderStatusByCompany in orderStatusesByCompanyQuery) 
    // adding this ChartAxisItem does nothing 
    ChartAxisItem chartAxisItem = new ChartAxisItem(); 
    chartAxisItem.Value = orderStatusByCompany.CompanyId; 
    chartAxisItem.TextBlock.Text = orderStatusByCompany.CompanyName; 
    rcOrders.PlotArea.XAxis.Items.Add(chartAxisItem); 
 
    ChartSeriesItem chartSeriesItem = new ChartSeriesItem(); 
    chartSeriesItem.Label.TextBlock.Text = orderStatusByCompany.StatusCount.ToString(); 
    chartSeriesItem.XValue = orderStatusByCompany.CompanyId; 
    chartSeriesItem.XValue2 = orderStatusByCompany.StatusId; 
    chartSeriesItem.YValue = orderStatusByCompany.StatusCount; 
    rcOrders.Series.GetByName(orderStatusByCompany.StatusDisplayName).Items.Add(chartSeriesItem); 

2 Answers, 1 is accepted

Sort by
0
Nate Pinchot
Top achievements
Rank 1
answered on 22 Oct 2008, 01:32 AM
Would like some help with this please.........
I'm a paying customer.
0
Nate Pinchot
Top achievements
Rank 1
answered on 22 Oct 2008, 07:19 AM
Figured it out on my own. Thanks anyway.
Tags
Chart (Obsolete)
Asked by
Nate Pinchot
Top achievements
Rank 1
Answers by
Nate Pinchot
Top achievements
Rank 1
Share this question
or