Your Privacy Matters: We use our own and third-party cookies to improve your experience on our website. By continuing to use the website we understand that you accept their use. Cookie Policy
4110
Column Chart not grouping
posted

After doing a few grouped column charts, I'm having difficulty getting my latest one to group. I'm thinking it may be in how I'm building my datatable, but can't seem to quite get it. Any help will be greatly appreciated.

Below is my html & code, then what the chart looks like and then what the chart "should" look like. Please help. Thanks so much!

<igchart:UltraChart ID="igChart2" runat="server" BackgroundImageFileName="" BorderColor="Black"
 BorderWidth="0px" EmptyChartText="Data Not Available" Height="350px" Section508Compliant="True"
 Version="8.1" Width="750px">
 <ColumnChart>
  <ChartText>
   <igchartprop:ChartTextAppearance ChartTextFont="Arial, 7pt" Column="-2" Row="-2"
    VerticalAlign="Far" Visible="True">
   </igchartprop:ChartTextAppearance>
  </ChartText>
 </ColumnChart>
 <Axis>
  <X Extent="30" LineThickness="1" TickmarkInterval="0" TickmarkStyle="Smart" Visible="True">
   <MajorGridLines AlphaLevel="255" Color="Gainsboro" DrawStyle="Dot" Thickness="1"
    Visible="True" />
   <MinorGridLines AlphaLevel="255" Color="LightGray" DrawStyle="Dot" Thickness="1"
    Visible="False" />
   <Labels Font="Verdana, 7pt" FontColor="DimGray" HorizontalAlign="Near" ItemFormatString="&lt;ITEM_LABEL&gt;"
    Orientation="VerticalLeftFacing" VerticalAlign="Center" Visible="False">
    <SeriesLabels Font="Verdana, 7pt" FontColor="DimGray" HorizontalAlign="Center" Orientation="Horizontal"
     VerticalAlign="Center">
     <Layout Behavior="Auto">
     </Layout>
    </SeriesLabels>
    <Layout Behavior="Auto">
    </Layout>
   </Labels>
  </X>
  <Y LineThickness="1" TickmarkInterval="50" TickmarkStyle="Smart" Visible="True">
   <MajorGridLines AlphaLevel="255" Color="Gainsboro" DrawStyle="Dot" Thickness="1"
    Visible="True" />
   <MinorGridLines AlphaLevel="255" Color="LightGray" DrawStyle="Dot" Thickness="1"
    Visible="False" />
   <Labels Font="Verdana, 7pt" FontColor="DimGray" HorizontalAlign="Far" ItemFormatString="&lt;DATA_VALUE:00.##&gt;"
    Orientation="Horizontal" VerticalAlign="Center">
    <SeriesLabels Font="Verdana, 7pt" FontColor="DimGray" HorizontalAlign="Center" Orientation="VerticalLeftFacing"
     VerticalAlign="Center">
     <Layout Behavior="Auto">
     </Layout>
    </SeriesLabels>
    <Layout Behavior="Auto">
    </Layout>
   </Labels>
  </Y>
  <Y2 LineThickness="1" TickmarkInterval="50" TickmarkStyle="Smart" Visible="False">
   <MajorGridLines AlphaLevel="255" Color="Gainsboro" DrawStyle="Dot" Thickness="1"
    Visible="True" />
   <MinorGridLines AlphaLevel="255" Color="LightGray" DrawStyle="Dot" Thickness="1"
    Visible="False" />
   <Labels Font="Verdana, 7pt" FontColor="Gray" HorizontalAlign="Near" ItemFormatString="&lt;DATA_VALUE:00.##&gt;"
    Orientation="Horizontal" VerticalAlign="Center" Visible="False">
    <SeriesLabels Font="Verdana, 7pt" FontColor="Gray" HorizontalAlign="Center" Orientation="VerticalLeftFacing"
     VerticalAlign="Center">
     <Layout Behavior="Auto">
     </Layout>
    </SeriesLabels>
    <Layout Behavior="Auto">
    </Layout>
   </Labels>
  </Y2>
  <X2 LineThickness="1" TickmarkInterval="0" TickmarkStyle="Smart" Visible="False">
   <MajorGridLines AlphaLevel="255" Color="Gainsboro" DrawStyle="Dot" Thickness="1"
    Visible="True" />
   <MinorGridLines AlphaLevel="255" Color="LightGray" DrawStyle="Dot" Thickness="1"
    Visible="False" />
   <Labels Font="Verdana, 7pt" FontColor="Gray" HorizontalAlign="Far" ItemFormatString="&lt;ITEM_LABEL&gt;"
    Orientation="VerticalLeftFacing" VerticalAlign="Center" Visible="False">
    <SeriesLabels Font="Verdana, 7pt" FontColor="Gray" HorizontalAlign="Center" Orientation="Horizontal"
     VerticalAlign="Center">
     <Layout Behavior="Auto">
     </Layout>
    </SeriesLabels>
    <Layout Behavior="Auto">
    </Layout>
   </Labels>
  </X2>
  <Z LineThickness="1" TickmarkInterval="0" TickmarkStyle="Smart" Visible="False">
   <MajorGridLines AlphaLevel="255" Color="Gainsboro" DrawStyle="Dot" Thickness="1"
    Visible="True" />
   <MinorGridLines AlphaLevel="255" Color="LightGray" DrawStyle="Dot" Thickness="1"
    Visible="False" />
   <Labels Font="Verdana, 7pt" FontColor="DimGray" HorizontalAlign="Near" ItemFormatString=""
    Orientation="Horizontal" VerticalAlign="Center">
    <SeriesLabels Font="Verdana, 7pt" FontColor="DimGray" HorizontalAlign="Center" Orientation="Horizontal"
     VerticalAlign="Center">
     <Layout Behavior="Auto">
     </Layout>
    </SeriesLabels>
    <Layout Behavior="Auto">
    </Layout>
   </Labels>
  </Z>
  <Z2 LineThickness="1" TickmarkInterval="0" TickmarkStyle="Smart" Visible="False">
   <MajorGridLines AlphaLevel="255" Color="Gainsboro" DrawStyle="Dot" Thickness="1"
    Visible="True" />
   <MinorGridLines AlphaLevel="255" Color="LightGray" DrawStyle="Dot" Thickness="1"
    Visible="False" />
   <Labels Font="Verdana, 7pt" FontColor="Gray" HorizontalAlign="Near" ItemFormatString=""
    Orientation="Horizontal" VerticalAlign="Center" Visible="False">
    <SeriesLabels Font="Verdana, 7pt" FontColor="Gray" HorizontalAlign="Center" Orientation="Horizontal"
     VerticalAlign="Center">
     <Layout Behavior="Auto">
     </Layout>
    </SeriesLabels>
    <Layout Behavior="Auto">
    </Layout>
   </Labels>
  </Z2>
  <PE ElementType="None" Fill="Cornsilk" />
 </Axis>
 <DeploymentScenario ImageType="Jpeg" />
 <Data ZeroAligned="True">
 </Data>
 <TitleTop ClipText="False" HorizontalAlign="Center" WrapText="True">
 </TitleTop>
 <ColorModel AlphaLevel="200" ColorBegin="Pink" ColorEnd="DarkRed" ModelStyle="CustomLinear">
 </ColorModel>
 <Border Thickness="0" />
 <Effects>
  <Effects>
   <igchartprop:GradientEffect>
   </igchartprop:GradientEffect>
  </Effects>
 </Effects>
</igchart:UltraChart>

 Public Sub LoadColumnChart(ByRef iPanel As Infragistics.WebUI.Misc.WebPanel, ByRef iColChart As Infragistics.WebUI.UltraWebChart.UltraChart, ByRef userProfile As Array, ByVal choice As String, Optional ByVal ChartCounter As Int16 = 1)
  iPanel.Visible = True
  iColChart.Visible = True
  iColChart.ColorModel.ModelStyle = Infragistics.UltraChart.Shared.Styles.ColorModels.CustomLinear
  iColChart.ColorModel.CustomPalette = New Color() {Color.Blue, Color.Yellow, Color.Green, Color.Purple}
  iColChart.Section508Compliant = True
  iColChart.TitleTop.Text = choice
  iColChart.Axis.X.RangeMax = 1.0
  iColChart.Axis.X.RangeMin = 0.0
  iColChart.Axis.X.TickmarkInterval = 0.2
  iColChart.Axis.X.RangeType = Styles.AxisRangeType.Custom
  iColChart.DataSource = GetColumnChartSeries(userProfile, choice) 'dt
  iColChart.Legend.Visible = True
  iColChart.Legend.Location = Styles.LegendLocation.Bottom
  iColChart.Axis.X.Labels.SeriesLabels.FormatString = " "
  iColChart.Data.SwapRowsAndColumns = False
  iColChart.DataBind()
  'process/no measure
  iColChart.SaveTo(Server.MapPath(ChartImagePrimaryPath) & userProfile(7).Trim.ToLower & "_" & userProfile(47).Trim.ToLower & _
   "_" & userProfile(17) & "_" & FormatQuarter(userProfile(18)) & "_" & ChartCounter & ChartImageFileExt, GetChartImageType())

 End Sub

  Public Function GetColumnChartSeries(ByRef userProfile As Array, ByVal choice As String) As DataTable
  Dim ds As New DataSet
  Dim dt As New DataTable
  Dim lower As Int64 = 2 '3 (number of series to display)
  Dim upper As Int64 = 2
  Dim drArray As String(,) = Nothing
  Dim cnt As Int16 = 0
  Dim cnt1 As Int16 = 0

  Try
   ds = GetChartDataSet(userProfile, "chartperiods")
   If Not IsDatasetValid(ds) Then
    ds = GetNewChartDataSet()
   End If
   ReDim drArray(lower, upper)
   drArray(0, 0) = "DOGS"
   drArray(1, 0) = "CATS"
   drArray(2, 0) = "Other"
   cnt = 1
   cnt1 = 0
   For cnt1 = 0 To ds.Tables(0).Rows.Count - 1
    If ds.Tables(0).Rows(cnt1).Item(3).ToString.Trim.ToLower = "dogs" Then
     drArray(0, cnt) = ds.Tables(0).Rows(cnt1).Item(4)
     cnt += 1
    End If
   Next
   cnt = 1
   cnt1 = 0
   For cnt1 = 0 To ds.Tables(0).Rows.Count - 1
    If ds.Tables(0).Rows(cnt1).Item(3).ToString.Trim.ToLower = "cats" Then
     drArray(1, cnt) = ds.Tables(0).Rows(cnt1).Item(4)
     cnt += 1
    End If
   Next
   cnt = 1
   cnt1 = 0
   For cnt1 = 0 To ds.Tables(0).Rows.Count - 1
    If ds.Tables(0).Rows(cnt1).Item(3).ToString.Trim.ToLower = "other" Then
     drArray(2, cnt) = ds.Tables(0).Rows(cnt1).Item(4)
     cnt += 1
    End If
   Next
   cnt = 0
   dt.Columns.Add("DOGS", GetType(System.Int64))
   dt.Columns.Add("CATS", GetType(System.Int64))
   dt.Columns.Add("Other", GetType(System.Int64))
   dt.Rows.Add(New Object() {drArray(0, 1).ToString, drArray(1, 1).ToString, drArray(2, 1).ToString})
   dt.Rows.Add(New Object() {drArray(0, 2).ToString, drArray(1, 2).ToString, drArray(2, 2).ToString})

   ds = Nothing

  Catch ex As Exception
  End Try

  Return dt
 End Function