Question

I used ChartJS DevExpress.It get and display datas from my web service(ODataContext)

I can get all data but I want to filter by lblDeviceID value on page !

DealerPage.aspx.cs:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using DevExpress.Web.ASPxEditors;

public partial class _DealerPage : System.Web.UI.Page

{
private string m_DeviceID = "";

protected void Page_Load(object sender, EventArgs e)
{
    this.m_DeviceID = this.Page.Request.QueryString["DI"].ToString();
    lblDeviceID.Text = this.m_DeviceID.ToString();

}

}

DealerPage.aspx :

  <%@ Page Language="C#" MasterPageFile="~/Main.master"  AutoEventWireup="true"   
   CodeFile="DealerPage.aspx.cs" Inherits="_DealerPage" %>

 <asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server">


<script type="text/javascript" src="js/jquery-2.0.3.min.js"></script>
<script type="text/javascript" src="js/globalize.min.js"></script>
<script type="text/javascript" src="js/dx.all.js"></script>
<script type="text/javascript">

    var db = new DevExpress.data.ODataContext  ( 
   {

  url: 'http://someservices.com/DataService.svc/',
  entities: {
  sonolcum3: {
  key: ["a_TankLevel1", "a_TankLevel2", "DeviceID"],
  keyType: {
  a_TankLevel1: "Int32",
  a_TankLevel2: "Int32",
  DeviceID: "Int32"


  }
  }
  }
  }  );

var chartSeries = [{ argumentField: 'readTime', valueField: 'a_TankLevel1' }, 
{ argumentField: 'readTime', valueField: 'a_TankLevel2' }];

 $(function () {

 $('#chartContainer').dxChart({
 dataSource: db.sonolcum3,
 series:chartSeries

  });

  $('#rangeContainer').dxRangeSelector({
  dataSource: db.sonolcum3,
  chart: {
   series: chartSeries

   },

   selectedRangeChanged: function (e) {

   var zoomedChart = $("#chartContainer").dxChart("instance");

   zoomedChart.zoomArgument(e.startValue, e.endValue);

   }

   } );
   } );

</script>


<body>
 <div>
 <div id="chartContainer"></div>

 <div id="rangeContainer"></div>

</div>

 <dx:ASPxLabel ID="lblDeviceID" runat="server" Text="">

 </dx:ASPxLabel>

</body>
</asp:Content>

Result : http://snag.gy/E8eVQ.jpg

I can display all data of db.sonolcum3 but I want to filter by lblDeviceID(DeviceID key) value.

lblDeviceID Text equal to Page.Request.QueryString["DI"]

E.g

When open localhost/DealerPage.aspx?DI=123456

Filter and display data of where DeviceID=123456

Was it helpful?

Solution

You can use following approach:

dataSource: { 
  store: db.sonolcum3,
  filter: ["DeviceID", "=", 123456]
}

ChartJS library uses the same data layer as PhoneJS.

Links:

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top