توضیحات و دانلود

مثالی از کنترل نمودار خطی از بانک اطلاعاتی با AJAX در ASP.Net
0 0
مثالی از کنترل نمودار خطی از بانک اطلاعاتی با AJAX در ASP.Net

 با سلام در این مقاله با یک مثال توضیح خواهیم داد که چگونه به صورت پویا درکنترل AJAX Toolkit کنترل نمودار خطی از پایگاه داده SQL Server را جمع آوری کنید.

بانک اطلاعات
در اینجا از پایگاه داده Northwind استفاده می کنیم. شما می توانید آن را از اینجا دانلود کنید
پایگاه داده Northwind را بارگیری و نصب کنید
استفاده از کنترل نمودار خطی AJAX
1.  AJAX ToolScriptManager را در صفحه بکشید .
2. پس از افزودن مرجع به پروژه خود ، كتابخانه كنترل AJAX Toolkit را ثبت كنيد

<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %>

کد HTML
کد HTML ساده است ، شامل یک DropDownList و کنترل AJAX Toolkit Line Chart.

<cc1:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server">
</cc1:ToolkitScriptManager>
<asp:DropDownList ID="ddlCountries" runat="server" OnSelectedIndexChanged="ddlCountries_SelectedIndexChanged"
    AutoPostBack="true">
</asp:DropDownList>
<hr />
<cc1:LineChart ID="LineChart1" runat="server" ChartHeight="300" ChartWidth = "450"
    ChartType="Basic" ChartTitleColor="#0E426C" Visible = "false"
    CategoryAxisLineColor="#D08AD9" ValueAxisLineColor="#D08AD9" BaseLineColor="#A156AB">
</cc1:LineChart>

براساس انتخاب DropDownList ، نمودار خطی به صورت پویا از پایگاه داده جمع آوری می شود.
فضاهای نام
شما باید نامهای زیر را وارد کنید
C #

using System.Data;
using System.Data.SqlClient;
using System.Configuration;

VB.Net

Imports System.Data
Imports System.Data.SqlClient
Imports System.Configuration

جمع آوری DropDownList و کنترل AJAX Toolkit Line Chart
در رویداد بارگیری صفحه  از صفحه لیست کشورهایی از پایگاه داده Northwind که در آنجا سفارشات ارسال شده اند ، جمع کرده ایم.
سپس در رویداد SelectedIndexChanged از DropDownList اطلاعات آماری را جمع آوری کرده ایم یعنی در کدام شهر از آن کشور سفارشات توزیع شده است.
این اطلاعات آماری به صورت نمودار خطی ارائه می شود که در آن محورها شهرهای کشورهای منتخب هستند و سریال تعداد کل سفارشات ارسال شده در هر شهر است.
C #

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        string query = "select distinct shipcountry from orders";
        DataTable dt = GetData(query);
        ddlCountries.DataSource = dt;
        ddlCountries.DataTextField = "shipcountry";
        ddlCountries.DataValueField = "shipcountry";
        ddlCountries.DataBind();
        ddlCountries.Items.Insert(0, new ListItem("Select", ""));
    }
}
protected void ddlCountries_SelectedIndexChanged(object sender, EventArgs e)
{
    string query = string.Format("select shipcity, count(orderid) from orders where shipcountry = '{0}' group by shipcity", ddlCountries.SelectedItem.Value);
    DataTable dt = GetData(query);
 
    string[] x = new string[dt.Rows.Count];
    decimal[] y = new decimal[dt.Rows.Count];
    for (int i = 0; i < dt.Rows.Count; i++)
    {
        x[i] = dt.Rows[i][0].ToString();
        y[i] = Convert.ToInt32(dt.Rows[i][1]);
    }
    LineChart1.Series.Add(new AjaxControlToolkit.LineChartSeries { Data = y });
    LineChart1.CategoriesAxis = string.Join(",", x);
    LineChart1.ChartTitle = string.Format("{0} Order Distribution", ddlCountries.SelectedItem.Value);
    if (x.Length > 3)
    {
        LineChart1.ChartWidth = (x.Length * 75).ToString();
    }
    LineChart1.Visible = true;
}
 
private static DataTable GetData(string query)
{
    DataTable dt = new DataTable();
    string constr = ConfigurationManager.ConnectionStrings["constr"].ConnectionString;
    using (SqlConnection con = new SqlConnection(constr))
    {
        using (SqlCommand cmd = new SqlCommand(query))
        {
            using (SqlDataAdapter sda = new SqlDataAdapter())
            {
                cmd.CommandType = CommandType.Text;
                cmd.Connection = con;
                sda.SelectCommand = cmd;
                sda.Fill(dt);
            }
        }
        return dt;
    }
}

VB.Net

Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
    If Not IsPostBack Then
        Dim query As String = "select distinct shipcountry from orders"
        Dim dt As DataTable = GetData(query)
        ddlCountries.DataSource = dt
        ddlCountries.DataTextField = "shipcountry"
        ddlCountries.DataValueField = "shipcountry"
        ddlCountries.DataBind()
        ddlCountries.Items.Insert(0, New ListItem("Select", ""))
    End If
End Sub
Protected Sub ddlCountries_SelectedIndexChanged(sender As Object, e As EventArgs)
    Dim query As String = String.Format("select shipcity, count(orderid) from orders where shipcountry = '{0}' group by shipcity", ddlCountries.SelectedItem.Value)
    Dim dt As DataTable = GetData(query)
 
    Dim x As String() = New String(dt.Rows.Count - 1) {}
    Dim y As Decimal() = New Decimal(dt.Rows.Count - 1) {}
    For i As Integer = 0 To dt.Rows.Count - 1
        x(i) = dt.Rows(i)(0).ToString()
        y(i) = Convert.ToInt32(dt.Rows(i)(1))
    Next
    LineChart1.Series.Add(New AjaxControlToolkit.LineChartSeries() With { _
     .Data = y _
    })
    LineChart1.CategoriesAxis = String.Join(",", x)
    LineChart1.ChartTitle = String.Format("{0} Order Distribution", ddlCountries.SelectedItem.Value)
    If x.Length > 3 Then
        LineChart1.ChartWidth = (x.Length * 75).ToString()
    End If
    LineChart1.Visible = True
End Sub
 
Private Shared Function GetData(query As String) As DataTable
    Dim dt As New DataTable()
    Dim constr As String = ConfigurationManager.ConnectionStrings("constr").ConnectionString
    Using con As New SqlConnection(constr)
        Using cmd As New SqlCommand(query)
            Using sda As New SqlDataAdapter()
                cmd.CommandType = CommandType.Text
                cmd.Connection = con
                sda.SelectCommand = cmd
                sda.Fill(dt)
            End Using
       End Using
        Return dt
    End Using
End Function

 


دانلود
  • لینک های دانلود دوره های آموزشی تا پایان دوره قابل دانلود می باشد.
  • برای خارج کردن فایل ها از حالت فشرده از ورژن جدید نرم افزار winrar استفاده کنید.
  • برای خارج کردن فایل ها از حالت فشرده لینک های دانلودی که چندین قسمت می باشند فقط قسمت اول را از حالت فشرده خارج کنید.
  • لطفا توضیحات نوشته شده برای مطالب را با دقت بخوانید.
  • برای نمایش فیلم ها می توانید از نرم افزار هایی مانند Km Player , VLC Player یا Media Player Classic استفاده کنید.

ارسال نظر
ارسال پیام به :