ارسال اطلاعات از XMl و نمایش آنها در کنترل GridView در Asp.Net و VB.Net

در این مقاله نحوه ارسال اطلاعات از XML و نمایش اطلاعات در کنترل GridView را شرح خواهیم داد

ارسال اطلاعات از XMl و نمایش آنها در کنترل  GridView در Asp.Net و VB.Net

آکادمی برنامه نویسان ، برگزار کننده دوره های آموزش برنامه نویسی با استفاده از اساتید مجرب و حرفه ای در سراسر ایران .

[ جهت مشاهده دوره های درحال ثبت نام کلیک کنید ]

ارائه مدارک معتبر آموزشی و ورود به بازار کار .

ابتدا فایل XML خود را ایجاد میکنیم , مطابق دستور زیر :


<Customers>
 <Customer>
    <CustomerID>ALFKI</CustomerID>
    <CompanyName>Alfreds Futterkiste</CompanyName>
    <ContactName>Maria </ContactName>
    <ContactTitle>Sales Representative</ContactTitle>
    <Address>Obere Str. 57</Address>
    <City>Boise</City>
    <PostalCode>12209</PostalCode>
    <Country>Germany</Country>
    <Phone>030-0074321</Phone>
    <Fax>030-0076545</Fax>
 </Customer>
 <Customer>
    <CustomerID>ANATR</CustomerID>
    <CompanyName>Ana Trujillo Emparedados y helados</CompanyName>
    <ContactName>Ana Trujillo</ContactName>
    <ContactTitle>Owner</ContactTitle>
    <Address>Avda. de la Constitución 2222</Address>
    <City>México D.F.</City>
    <PostalCode>05021</PostalCode>
    <Country>Mexico</Country>
    <Phone>(5) 555-4729</Phone>
    <Fax>(5) 555-3745</Fax>
 </Customer>
</Customers>

سپس تگ های مربوط به کنترل GridView را در فسمت HTML صفحه اضافه می کنیم , در قسمت زیر رویداد OnPageIndexChanging را فراخوانی می کنیم که اگر فایل XML تعداد زیادی رکورد داشت , می توانیم تعداد صفحات  (data page) ها را مشاهده کنیم :


<asp:GridView ID="GridView1" HeaderStyle-BackColor="#3AC0F2" HeaderStyle-ForeColor="White"
    RowStyle-BackColor="#A1DCF2" AlternatingRowStyle-BackColor="White" AlternatingRowStyle-ForeColor="#000"
    runat="server" AutoGenerateColumns="false" AllowPaging="true" OnPageIndexChanging="OnPageIndexChanging">
    <Columns>
        <asp:BoundField DataField="CustomerId" HeaderText="Id" ItemStyle-Width="80" />
        <asp:BoundField DataField="ContactName" HeaderText="Name" ItemStyle-Width="150" />
        <asp:BoundField DataField="City" HeaderText="City" ItemStyle-Width="150" />
        <asp:BoundField DataField="Country" HeaderText="Country" ItemStyle-Width="150" />
    </Columns>
</asp:GridView>

همچنین فضای نام های زیر را نیز باید به پروژه در قسمت کد نویسی اضافه کنیم :

#C :


using System.Data;

VB.Net :


Imports System.Data

خواندن اطلاعات از XML و نمایش آنها در کنترل GridView :

در قسمت زیر , کنترل GridView ابتدا اطلاعات را از DataSet با استفاده از متد ReadXML دریافت می کند .که این اطلاعات از آدرس دقیق محل قرار گیری فایل XML می خواند .در آخر DataSet به همراه XML به کنترل GridView اتصال داده می شوند .

#C :


protected void Page_Load(object sender, EventArgs e)
{
    if (!this.IsPostBack)
    {
        this.BindGrid();
    }
}
 
private void BindGrid()
{
    using (DataSet ds = new DataSet())
    {
        ds.ReadXml(Server.MapPath("~/Customers.xml"));
        GridView1.DataSource = ds;
        GridView1.DataBind();
    }
}
 
protected void OnPageIndexChanging(object sender, GridViewPageEventArgs e)
{
    GridView1.PageIndex = e.NewPageIndex;
    this.BindGrid();
}

VB.Net :


Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
    If Not Me.IsPostBack Then
        Me.BindGrid()
    End If
End Sub
 
Private Sub BindGrid()
    Using ds As New DataSet()
        ds.ReadXml(Server.MapPath("~/Customers.xml"))
        GridView1.DataSource = ds
        GridView1.DataBind()
    End Using
End Sub
 
Protected Sub OnPageIndexChanging(sender As Object, e As GridViewPageEventArgs)
    GridView1.PageIndex = e.NewPageIndex
    Me.BindGrid()
End Sub

 

فایل های ضمیمه