B
bikash
Hi! I am using visual studio.net 2.0 and trying to use OWC11 to draw a chart
from the database. If its only one data series it is fine but i cant see the
second data series. all i was trying to do was display actual and budgeted
against year. below are the code for clarification
gvPortfolioHisex.DataSource = dtPropertyCapex
gvPortfolioHisex.DataBind()
'Now Build a graph from the dataset
Dim oChartSpace As New Owc11.ChartSpaceClass()
Dim objChart As Owc11.ChChart = oChartSpace.Charts.Add(0)
objChart.HasTitle = True
objChart.Title.Caption = "Historical Expenditure Graph"
Dim sw As New System.IO.StringWriter()
Dim xDoc As New XmlDocument()
dtPropertyCapex.WriteXml(sw)
' clean up
xDoc.LoadXml(sw.ToString())
sw.Close()
Dim nodes As System.Xml.XmlNodeList
nodes = xDoc.ChildNodes.Item(0).ChildNodes
Dim nCount As Integer = nodes.Count
Dim aActual As String() = New String(nCount - 1) {}
Dim aBudgeted As String() = New String(nCount - 1) {}
Dim aEOY As String() = New String(nCount - 1) {}
Dim Actual As String = [String].Empty
Dim Budgeted As String = [String].Empty
Dim EOY As String = [String].Empty
Dim i As Integer = 0
For i = 1 To nCount
aActual(i - 1) = nodes.Item(i - 1).ChildNodes.Item(0).InnerText
aBudgeted(i - 1) = nodes.Item(i - 1).ChildNodes.Item(1).InnerText
aEOY(i - 1) = nodes.Item(i - 1).ChildNodes.Item(2).InnerText
Next
Actual = [String].Join("" & Chr(9) & "", aActual)
Budgeted = [String].Join("" & Chr(9) & "", aBudgeted)
EOY = [String].Join("" & Chr(9) & "", aEOY)
objChart.SeriesCollection.Add()
objChart.SeriesCollection.Add(0).Caption = "Actual"
objChart.SeriesCollection(0).SetData(Owc11.ChartDimensionsEnum.chDimCategories, Convert.ToInt32(Owc11.ChartSpecialDataSourcesEnum.chDataLiteral), EOY)
objChart.SeriesCollection(0).SetData(Owc11.ChartDimensionsEnum.chDimValues,
Convert.ToInt32(Owc11.ChartSpecialDataSourcesEnum.chDataLiteral), Actual)
objChart.SeriesCollection.Add()
objChart.SeriesCollection(1).Caption = "Budgeted"
objChart.SeriesCollection(1).SetData(Owc11.ChartDimensionsEnum.chDimCategories, Convert.ToInt32(Owc11.ChartSpecialDataSourcesEnum.chDataLiteral), EOY)
objChart.SeriesCollection(1).SetData(Owc11.ChartDimensionsEnum.chDimValues,
Convert.ToInt32(Owc11.ChartSpecialDataSourcesEnum.chDataLiteral), Budgeted)
objChart.HasLegend = True
Dim strFullPathAndName As String =
Server.MapPath(System.DateTime.Now.Ticks.ToString() + ".gif")
oChartSpace.ExportPicture(strFullPathAndName, "gif", 600, 400)
imgHiSexGraph.ImageUrl =
Server.UrlEncode(Path.GetFileName(strFullPathAndName))
imgHiSexGraph.Visible = True
RemoveFiles(Server.MapPath("."))
also I am trying to add two colors. searched every where in net but couldn't
find a solution please help.
I found below codes but not sure how i could use it
'objChart.Type = Owc11.ChInterior
'Dim f As Owc11.ChInterior
'f.SetSolid("grainsboro")
'f.SetPatterned(Owc11.ChartPatternTypeEnum.chPattern80Percent, "black",
"gainsboro")
'f.SetTwoColorGradient(Owc11.ChartGradientStyleEnum.chGradientDiagonalUp,
Owc11.ChartGradientVariantEnum.chGradientVariantEdges, "gainsboro", "gray")
'objChart.Type.ch =
f.SetTwoColorGradient(Owc11.ChartGradientStyleEnum.chGradientDiagonalUp,
Owc11.ChartGradientVariantEnum.chGradientVariantEdges, "gainsboro", "gray")
''font = e.drawObject.Interior as owc11.ChInterior;
' font.SetSolid((object)"gainsboro");
'
font.SetPatterned(owc11.ChartPatternTypeEnum.chPattern80Percent,(object)"black","gainsboro");
'
font.SetTwoColorGradient(owc11.ChartGradientStyleEnum.chGradientDiagonalUp,
owc11.ChartGradientVariantEnum.chGradientVariantEdges,(object)"gainsboro",(object)"gray");
thanks in advance.
from the database. If its only one data series it is fine but i cant see the
second data series. all i was trying to do was display actual and budgeted
against year. below are the code for clarification
gvPortfolioHisex.DataSource = dtPropertyCapex
gvPortfolioHisex.DataBind()
'Now Build a graph from the dataset
Dim oChartSpace As New Owc11.ChartSpaceClass()
Dim objChart As Owc11.ChChart = oChartSpace.Charts.Add(0)
objChart.HasTitle = True
objChart.Title.Caption = "Historical Expenditure Graph"
Dim sw As New System.IO.StringWriter()
Dim xDoc As New XmlDocument()
dtPropertyCapex.WriteXml(sw)
' clean up
xDoc.LoadXml(sw.ToString())
sw.Close()
Dim nodes As System.Xml.XmlNodeList
nodes = xDoc.ChildNodes.Item(0).ChildNodes
Dim nCount As Integer = nodes.Count
Dim aActual As String() = New String(nCount - 1) {}
Dim aBudgeted As String() = New String(nCount - 1) {}
Dim aEOY As String() = New String(nCount - 1) {}
Dim Actual As String = [String].Empty
Dim Budgeted As String = [String].Empty
Dim EOY As String = [String].Empty
Dim i As Integer = 0
For i = 1 To nCount
aActual(i - 1) = nodes.Item(i - 1).ChildNodes.Item(0).InnerText
aBudgeted(i - 1) = nodes.Item(i - 1).ChildNodes.Item(1).InnerText
aEOY(i - 1) = nodes.Item(i - 1).ChildNodes.Item(2).InnerText
Next
Actual = [String].Join("" & Chr(9) & "", aActual)
Budgeted = [String].Join("" & Chr(9) & "", aBudgeted)
EOY = [String].Join("" & Chr(9) & "", aEOY)
objChart.SeriesCollection.Add()
objChart.SeriesCollection.Add(0).Caption = "Actual"
objChart.SeriesCollection(0).SetData(Owc11.ChartDimensionsEnum.chDimCategories, Convert.ToInt32(Owc11.ChartSpecialDataSourcesEnum.chDataLiteral), EOY)
objChart.SeriesCollection(0).SetData(Owc11.ChartDimensionsEnum.chDimValues,
Convert.ToInt32(Owc11.ChartSpecialDataSourcesEnum.chDataLiteral), Actual)
objChart.SeriesCollection.Add()
objChart.SeriesCollection(1).Caption = "Budgeted"
objChart.SeriesCollection(1).SetData(Owc11.ChartDimensionsEnum.chDimCategories, Convert.ToInt32(Owc11.ChartSpecialDataSourcesEnum.chDataLiteral), EOY)
objChart.SeriesCollection(1).SetData(Owc11.ChartDimensionsEnum.chDimValues,
Convert.ToInt32(Owc11.ChartSpecialDataSourcesEnum.chDataLiteral), Budgeted)
objChart.HasLegend = True
Dim strFullPathAndName As String =
Server.MapPath(System.DateTime.Now.Ticks.ToString() + ".gif")
oChartSpace.ExportPicture(strFullPathAndName, "gif", 600, 400)
imgHiSexGraph.ImageUrl =
Server.UrlEncode(Path.GetFileName(strFullPathAndName))
imgHiSexGraph.Visible = True
RemoveFiles(Server.MapPath("."))
also I am trying to add two colors. searched every where in net but couldn't
find a solution please help.
I found below codes but not sure how i could use it
'objChart.Type = Owc11.ChInterior
'Dim f As Owc11.ChInterior
'f.SetSolid("grainsboro")
'f.SetPatterned(Owc11.ChartPatternTypeEnum.chPattern80Percent, "black",
"gainsboro")
'f.SetTwoColorGradient(Owc11.ChartGradientStyleEnum.chGradientDiagonalUp,
Owc11.ChartGradientVariantEnum.chGradientVariantEdges, "gainsboro", "gray")
'objChart.Type.ch =
f.SetTwoColorGradient(Owc11.ChartGradientStyleEnum.chGradientDiagonalUp,
Owc11.ChartGradientVariantEnum.chGradientVariantEdges, "gainsboro", "gray")
''font = e.drawObject.Interior as owc11.ChInterior;
' font.SetSolid((object)"gainsboro");
'
font.SetPatterned(owc11.ChartPatternTypeEnum.chPattern80Percent,(object)"black","gainsboro");
'
font.SetTwoColorGradient(owc11.ChartGradientStyleEnum.chGradientDiagonalUp,
owc11.ChartGradientVariantEnum.chGradientVariantEdges,(object)"gainsboro",(object)"gray");
thanks in advance.