如何使用silverlight visifire显示图形 [英] How to show graph using silverlight visifire
问题描述
你好朋友......
我已经下载了silverlight visifire dll来显示交互式图表。因为我已经提到了以下链接。
http://www.visifire.com/documentation/Visifire_Documentation/Charts/Common_Tasks/creating_chart_from_sql_data_using_asp.net_and_visifire.htm [ ^ ]
i已如上所述以上链接。它向我展示了单线图,但是当我尝试多线时。它再次显示单行数据。以下代码用于在visifire图中显示多行。
Hello Friends...
I have downloaded silverlight visifire dll to show the interactive graph. for that i had referred following link.
http://www.visifire.com/documentation/Visifire_Documentation/Charts/Common_Tasks/creating_chart_from_sql_data_using_asp.net_and_visifire.htm[^]
i had done as mentioned in above link. it showed me single line graph, but when i tried it for multiple lines. it again showed single line data only. Following code for multiple lines to display in visifire graph.
DateTime ObjStartTime = DateTime.Now.AddHours(-2);
DateTime ObjEndTime = DateTime.Now;
string starttime = ObjStartTime.Month.ToString() + "/" + ObjStartTime.Day.ToString() + "/" + ObjStartTime.Year.ToString() + " " + ObjStartTime.Hour.ToString() + ":" + ObjStartTime.Minute.ToString() + ":" + ObjStartTime.Second.ToString();
string endtime = ObjEndTime.Month.ToString() + "/" + ObjEndTime.Day.ToString() + "/" + ObjEndTime.Year.ToString() + " " + ObjEndTime.Hour.ToString() + ":" + ObjEndTime.Minute.ToString() + ":" + ObjEndTime.Second.ToString();
OleDbConnection ObjConnection = new OleDbConnection("Provider=IhOLEDB.iHistorian.1;Data Source=TAUSEEF-PC");
string query = "set starttime=\'" + starttime + "\', endtime=\'" + endtime + "\', samplingmode=rawbytime, rowcount=0 \n select timestamp as ts,tagname as tag1,value as tag11value from ihrawdata where tagname=TAUSEEF-PC.Simulation00962";
OleDbDataAdapter ObjDataAdapter = new OleDbDataAdapter(query, ObjConnection);
DataTable ObjTag1 = new System.Data.DataTable();
ObjDataAdapter.Fill(ObjTag1);
query = "set starttime=\'" + starttime + "\', endtime=\'" + endtime + "\', samplingmode=rawbytime, rowcount=0 \n select timestamp as ts,tagname as tag2,value as tag22value from ihrawdata where tagname=TAUSEEF-PC.Simulation00001";
ObjDataAdapter = new OleDbDataAdapter(query, ObjConnection);
DataTable ObjTag2 = new System.Data.DataTable();
ObjDataAdapter.Fill(ObjTag2);
DataSet ObjDataSet = new System.Data.DataSet();
ObjDataSet.Tables.Add(ObjTag1);
ObjDataSet.Tables.Add(ObjTag2);
//ObjTag1.PrimaryKey = new DataColumn[] { ObjTag1.Columns["ts"] };
//ObjDataSet.Relations.Add("Tag12_Primary", ObjTag2.Columns["ts"], ObjTag1.Columns["ts"]);
DataTable ObjMainTable = new System.Data.DataTable();
ObjMainTable.Columns.Add("ts", typeof(DateTime));
ObjMainTable.Columns.Add("tag11value", typeof(double));
ObjMainTable.Columns.Add("tag22value", typeof(double));
for (int i = 0; i < ObjTag1.Rows.Count; i++)
{
//if (ObjTag1.Rows. || ObjTag2.Rows[i]
ObjMainTable.Rows.Add(ObjTag1.Rows[i][0], ObjTag1.Rows[i][2], ObjTag2.Rows[i][2]);
}
// Initialize StringBuilder class
StringBuilder chartXaml = new StringBuilder();
// Append chart XAML data
chartXaml.Append("<vc:Chart xmlns:vc=\"clr-namespace:Visifire.Charts;assembly=SLVisifire.Charts\" Width=\"800\" Height=\"800\" Theme=\"Theme1\" >");
chartXaml.Append("<vc:Chart.AxesY>");
chartXaml.Append("<vc:Axis Prefix=\"$\"></vc:Axis>");
chartXaml.Append("</vc:Chart.AxesY>");
chartXaml.Append("<vc:Chart.Titles>");
chartXaml.Append("<vc:Title Text=\"ASP.NET visifire example By Tauseef Kaldane \" FontSize=\"14\"/>");
chartXaml.Append("</vc:Chart.Titles>");
chartXaml.Append("<vc:Chart.Series>");
chartXaml.Append("<vc:DataSeries RenderAs=\"Line\">");
chartXaml.Append("<vc:DataSeries.DataPoints>");
foreach (DataRow dataRow in ObjMainTable.Rows)
{
chartXaml.Append("<vc:DataPoint AxisXLabel=\"" + dataRow[0].ToString() + "\" YValue=\"" + dataRow[1].ToString() + "\"/>");
chartXaml.Append("<vc:DataPoint AxisXLabel=\"" + dataRow[0].ToString() + "\" YValue=\"" + dataRow[2].ToString() + "\"/>");
}
chartXaml.Append("</vc:DataSeries.DataPoints>");
chartXaml.Append("</vc:DataSeries>");
chartXaml.Append("</vc:Chart.Series>");
chartXaml.Append("</vc:Chart>");
// Write object to an HTTP response stream
Response.Write(chartXaml);
Plz帮助我
Plz help me
推荐答案
\ > < / vc:Axis > );
chartXaml.Append(< / vc:Chart.AxesY > 跨度>);
chartXaml.Append(< vc:Chart.Titles > 跨度>);
chartXaml.Append(< vc:Title 文字 = \ ASP.NET visifire < span class =code-attribute> example 按 Tauseef Kaldane \ FontSize = \ 14 \/> );
chartXaml.Append(< / vc:Chart.Titles > 跨度>);
chartXaml.Append(< vc:Chart.Series > 跨度>);
chartXaml.Append(< vc:DataSeries RenderAs = \ Line \ > );
chartXaml.Append(< vc:DataSeries.DataPoints > 跨度>);
foreach(ObjMainTable.Rows中的DataRow dataRow)
{
chartXaml.Append(< vc:DataPoint AxisXLabel = \ + dataRow [0] .ToString( ) + \ YValue = \ + dataRow [1] .ToString() + \/ > );
chartXaml.Append(< vc:DataPoint AxisXLabel = \ + dataRow [0] .ToString() + \ YValue = \ + dataRow [2] .ToS tring() + \/ > );
}
chartXaml.Append(< / vc:DataSeries.DataPoints > );
chartXaml.Append(< / vc:DataSeries > 跨度>);
chartXaml.Append(< / vc:Chart.Series > 跨度>);
chartXaml.Append(< / vc:Chart > 跨度>);
//将对象写入HTTP响应流
Response.Write(chartXaml);
\"></vc:Axis>"); chartXaml.Append("</vc:Chart.AxesY>"); chartXaml.Append("<vc:Chart.Titles>"); chartXaml.Append("<vc:Title Text=\"ASP.NET visifire example By Tauseef Kaldane \" FontSize=\"14\"/>"); chartXaml.Append("</vc:Chart.Titles>"); chartXaml.Append("<vc:Chart.Series>"); chartXaml.Append("<vc:DataSeries RenderAs=\"Line\">"); chartXaml.Append("<vc:DataSeries.DataPoints>"); foreach (DataRow dataRow in ObjMainTable.Rows) { chartXaml.Append("<vc:DataPoint AxisXLabel=\"" + dataRow[0].ToString() + "\" YValue=\"" + dataRow[1].ToString() + "\"/>"); chartXaml.Append("<vc:DataPoint AxisXLabel=\"" + dataRow[0].ToString() + "\" YValue=\"" + dataRow[2].ToString() + "\"/>"); } chartXaml.Append("</vc:DataSeries.DataPoints>"); chartXaml.Append("</vc:DataSeries>"); chartXaml.Append("</vc:Chart.Series>"); chartXaml.Append("</vc:Chart>"); // Write object to an HTTP response stream Response.Write(chartXaml);
Plz帮助我
Plz help me
这篇关于如何使用silverlight visifire显示图形的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!