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

ویژگی های مرتبط با Databound مانند GridView در ASP.Net
0 0
ویژگی های مرتبط با Databound مانند GridView در ASP.Net

با سلام در این مقاله، توضیح خواهیم داد که چگونه از اشیاء سفارشی کسب و کار برای اتصال داده ها به کنترل های Databound مثل ASP.Net GridView Control استفاده کنید.
بانک اطلاعاتی
در اینجا  از پایگاه Northwind مایکروسافت استفاده می کنیم. که میتوانید از لینک زیر دانلود کنید .
پایگاه داده Northwind را دانلود کنید
کد HTML
کد HTML زیر شامل یک کنترل GridView ASP.Net می باشد که با استفاده از لیست عمومی Objects Custom Business Object است .

<asp:GridView ID="gvCustomers" runat="server" AutoGenerateColumns = "false"
AllowPaging = "true" OnPageIndexChanging = "OnPaging">
  <Columns>
     <asp:BoundField DataField = "CustomerId" HeaderText = "Customer Id" />
     <asp:BoundField DataField = "ContactName" HeaderText = "Contact Name" />
     <asp:BoundField DataField = "City" HeaderText = "City" />
     <asp:BoundField DataField = "Country" HeaderText = "Country" />
  </Columns>
</asp:GridView>

کلاس کسب و کار شی
کلاس زیر به نام Customer برای پر کردن کنترل GridView با سوابق از جدول پایگاه داده خواهد بود . کلاس دارای چهار ویژگی یعنی CustomerId، ContactName، City و Country است .
C #

public class Customer
{
    string _customerId;
    public string CustomerId
    {
        get
        {
            return _customerId;
        }
        set
        {
            _customerId = value;
        }
    }
 
    string _contactName;
    public string ContactName
    {
        get
        {
            return _contactName;
        }
       set
        {
            _contactName = value;
        }
    }
 
    string _city;
    public string City
    {
        get
        {
            return _city;
        }
        set
        {
            _city = value;
        }
    }
 
    string _country;
    public string Country
    {
        get
        {
            return _country;
        }
        set
        {
            _country = value;
        }
    }
}

VB.Net

Public Class Customer
    Private _customerId As String
    Private _contactName As String
    Private _city As String
    Private _country As String
 
    Public Property CustomerId() As String
        Get
            Return _customerId
        End Get
        Set(ByVal value As String)
            _customerId = value
        End Set
    End Property
 
    Public Property ContactName() As String
        Get
            Return _contactName
        End Get
        Set(ByVal value As String)
            _contactName = value
        End Set
    End Property
 
    Public Property City() As String
        Get
            Return _city
        End Get
        Set(ByVal value As String)
            _city = value
        End Set
    End Property
 
    Public Property Country() As String
        Get
            Return _country
        End Get
        Set(ByVal value As String)
            _country = value
        End Set
    End Property
End Class

فضاهای نام
شما باید فضای نامهای زیر را وارد کنید.
C #

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

VB.Net

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

جمع آوری اشیاء کسب و کار سفارشی
درون تابع زیر، رکوردهای جدول مشتریان پایگاه داده Northwind با استفاده از DataReader جمع می شوند و در داخل حلقه WHILE یک لیست کلی شامل اشیاء کلاس مشتری پر میکند.
C #

private List<Customer> PopulateData()
{
    string constring = ConfigurationManager.ConnectionStrings["constring"].ConnectionString;
    using (SqlConnection con = new SqlConnection(constring))
    {
        using (SqlCommand cmd = new SqlCommand("SELECT * FROM Customers", con))
        {
            con.Open();
            using (SqlDataReader sdr = cmd.ExecuteReader())
            {
                List<Customer> customers = new List<Customer>();
                while (sdr.Read())
                {
                    customers.Add(new Customer());
                    customers[customers.Count - 1].CustomerId = sdr["CustomerID"].ToString();
                    customers[customers.Count - 1].ContactName = sdr["ContactName"].ToString();
                    customers[customers.Count - 1].City = sdr["City"].ToString();
                    customers[customers.Count - 1].Country = sdr["Country"].ToString();
                }
                con.Close();
                return customers;
            }
        }
    }
}

VB.Net

Private Function PopulateData() As List(Of Customer)
        Dim constring As String = ConfigurationManager.ConnectionStrings("constring").ConnectionString
        Using con As SqlConnection = New SqlConnection(constring)
            Using cmd As SqlCommand = New SqlCommand("SELECT * FROM Customers", con)
                con.Open()
                Using sdr As SqlDataReader = cmd.ExecuteReader()
                    Dim customers As New List(Of Customer)
                    While sdr.Read
                        customers.Add(New Customer)
                        customers((customers.Count - 1)).CustomerId = sdr("CustomerID").ToString
                        customers((customers.Count - 1)).ContactName = sdr("ContactName").ToString
                        customers((customers.Count - 1)).City = sdr("City").ToString
                        customers((customers.Count - 1)).Country = sdr("Country").ToString
                    End While
                    con.Close()
                    Return customers
                End Using
            End Using
        End Using
End Function

جمع آوری کنترل GridView
تابع زیر کنترل GridView را با لیست عمومی اشیاء کلاس مشتری پر می کند.
C #

private void BindGrid(List<Customer> customers)
{
    gvCustomers.DataSource = customers;
    gvCustomers.DataBind();
}

VB.Net

Private Sub BindGrid(ByVal customers As List(Of Customer))
        gvCustomers.DataSource = customers
        gvCustomers.DataBind()
End Sub

روش فوق در رویداد Page_Load  به روش زیرانجام می شود.
C #

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        this.BindGrid(this.PopulateData());
    }
}

VB.Net

Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
        If Not IsPostBack Then
            Me.BindGrid(Me.PopulateData())
        End If
End Sub

صفحه بندی در GridView
در داخل پردازنده رویداد OnPageIndexChannings، صفحه PageIndex جدید تنظیم شده است و GridView با استفاده از لیست کلی اشیاء کلاس مشتری پر شده است.
C #

protected void OnPaging(object sender, GridViewPageEventArgs e)
{
    gvCustomers.PageIndex = e.NewPageIndex;
    this.BindGrid(this.PopulateData());
}

VB.Net

Protected Sub OnPaging(ByVal sender As Object, ByVal e As GridViewPageEventArgs)
        gvCustomers.PageIndex = e.NewPageIndex
        Me.BindGrid(Me.PopulateData)
End Sub

 


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

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