There are three simple steps:
1. Declare asp panel in your .aspx page:
<asp:Panel ID="pnlChart" runat="server"></asp:Panel>
3. copy paste following in your code behind class:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Telerik.Web.UI;
using System.Drawing;
using System.Data;
public partial class YourPage: Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
LoadSampleChart();
}
}
private void LoadSampleChart()
{
DataTable dt = new DataTable();
dt.Columns.Add("Sale", typeof(Decimal));
dt.Columns.Add("Returned", typeof(Decimal));
dt.Columns.Add("SaleDate", typeof(DateTime));
DataRow dr1 = dt.Rows.Add(); dr1["Sale"] = 85.00; dr1["Returned"] = 15.00; dr1["SaleDate"] = "2015/12/01"; //dt.Rows.Add(dr1);
DataRow dr2 = dt.Rows.Add(); dr2["Sale"] = 50.00; dr2["Returned"] = 50.00; dr2["SaleDate"] = "2015/12/02"; //dt.Rows.Add(dr2);
DataRow dr3 = dt.Rows.Add(); dr3["Sale"] = 25.00; dr3["Returned"] = 75.00; dr3["SaleDate"] = "2015/12/03"; //dt.Rows.Add(dr3);
RadHtmlChart rdChart = new RadHtmlChart();
rdChart.DataSource = dt;
rdChart.Width = Unit.Pixel(1000);
rdChart.Height = Unit.Pixel(800);
rdChart.Style.Value = "margin: 0 auto";
rdChart.PlotArea.XAxis.TitleAppearance.Text = "Sale Dates";
rdChart.PlotArea.XAxis.LabelsAppearance.DataFormatString = "{0:dd-MMM-yy}";
rdChart.PlotArea.XAxis.LabelsAppearance.TextStyle.Padding = "7px";
rdChart.PlotArea.YAxis.MaxValue = 1;
rdChart.Transitions = true;
rdChart.Legend.Appearance.Position = Telerik.Web.UI.HtmlChart.ChartLegendPosition.Bottom;
AddSeries("Sale", "X", rdChart, Color.Green, "Sale");
AddSeries("Returned", "X", rdChart, Color.Red, "Returns");
rdChart.PlotArea.XAxis.DataLabelsField = "SaleDate";
rdChart.DataBind();
pnlChart.Controls.Add(rdChart);
}
private void AddSeries(string YDataFieldName, String groupName, RadHtmlChart objChart, Color seriesColor, String legendName)
{
BarSeries objSeries = new BarSeries();
objSeries.Appearance.FillStyle.BackgroundColor = seriesColor;
objSeries.StackType = Telerik.Web.UI.HtmlChart.Enums.HtmlChartStackType.Stack100;
objSeries.DataFieldY = YDataFieldName;
objSeries.GroupName = groupName;
objSeries.Name = legendName;
objSeries.LabelsAppearance.Position = Telerik.Web.UI.HtmlChart.BarColumnLabelsPosition.Center;
objSeries.LabelsAppearance.DataFormatString = "{0}%";
objChart.PlotArea.Series.Add(objSeries);
}
}
Here is the output:
C-Sharp (C#), Android and SQL Server Code - Copy/Paste
Wednesday, 9 December 2015
Thursday, 3 December 2015
How To Capture GPS information with Callback in Android - Just Copy/Paste
You need two classes and one activity to capture GPS information.
1. TrackingInfo class
2. MyCallback interface
3. Activity class
Here is "TrackingInfo" class:
import android.content.Context;
import android.location.Criteria;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
public class TrackingInfo {
MyCallback mMyCallback;
public String mLongitude;
public String mLatitude;
public String CaptureDateTime;
public Context mContext;
LocationManager mLocationManager;
public static final String TAG = TrackingInfo.class.getSimpleName();
public TrackingInfo(Context ctx,MyCallback callback)
{
mContext=ctx;
mMyCallback=callback;
}
public void startGpsTracing() {
mLocationManager = (LocationManager) mContext.getSystemService(Context.LOCATION_SERVICE);
boolean gps = mLocationManager
.isProviderEnabled(LocationManager.GPS_PROVIDER);
if (!gps) {
//L.i(TAG, "Gps is off");
//T.showShort(mContext, "Please enable GPS function");
mLatitude = "";
mLongitude = "";
return;
}
Location location = mLocationManager
.getLastKnownLocation(LocationManager.GPS_PROVIDER);
if (location != null) {
mLatitude = String.valueOf(location.getLatitude());
mLongitude = String.valueOf(location.getLongitude());
//L.i(TAG, "GPS update:" + mLatitude + "/"+ mLongitude);
}
Criteria criteria = new Criteria();
criteria.setAccuracy(Criteria.ACCURACY_FINE);
criteria.setAltitudeRequired(false);
criteria.setBearingRequired(false);
criteria.setCostAllowed(true);
criteria.setPowerRequirement(Criteria.POWER_LOW);
try {
mLocationManager.requestLocationUpdates(
mLocationManager.getBestProvider(criteria, true), 2000, 10,
mLocationListener);
} catch (Exception e) {
e.printStackTrace();
}
}
private LocationListener mLocationListener = new LocationListener() {
public void onLocationChanged(Location location) {
if (location != null) {
mLatitude = String.valueOf(location.getLatitude());
mLongitude = String.valueOf(location.getLongitude());
if(mMyCallback!=null)
{
mMyCallback.callbackCall(mMyCallback.Key_GPSLocation,mLongitude,mLatitude);
//L.i(TAG, "GPS update:" + mLatitude + "/"+ mLongitude);
}
}
};
public void onProviderDisabled(String provider) {
};
public void onProviderEnabled(String provider) {
};
public void onStatusChanged(String provider, int status, Bundle extras) {
};
};
}
Here is "MyCallback" class:
public interface MyCallback {
public static final String Key_GPSLocation="GPSLocation";
void callbackCall(String key,String arg1,String arg2);
}
This is what you should have in your activity class (User Interface):
private TrackingInfo mTracker;
mTracker=new TrackingInfo(this,new MyCallback() {
@Override
public void callbackCall(String key, String arg1, String arg2) {
// TODO Auto-generated method stub
switch(key)
{
case MyCallback.Key_GPSLocation:
//Implement your own Toast here, arg1 and arg2 are longitude and latitude
// T.showShort(SurveyListActivity.this, arg1+ "/"+ arg2);
break;
}
}
});
mTracker.startGpsTracing();
Note: You have to have following permission setup in application manifest:
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
Subscribe to:
Posts (Atom)