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

دوشنبه 7 اردیبهشت 1394

در این مقاله نحوه ارسال اطلاعات از 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

 

برنامه نویسان

نویسنده 3355 مقاله در برنامه نویسان

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید