Click here to Skip to main content
15,885,365 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
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.

XML
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 help me
Posted

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



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900