65.9K
CodeProject 正在变化。 阅读更多。
Home

在 Asp.net 1.1 和 XML 中使用 Datagrid 分页

starIconstarIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIcon

2.20/5 (6投票s)

2006年2月27日

viewsIcon

41798

在 Asp.net 1.1 和 XML 中使用 Datagrid 分页

引言

XML 真的很好,当用作数据库时,它有很多优势。例如,你想将你的留言簿添加到 XML 数据库,然后使用 datagrid 显示数据。但是你想为你的 datagrid 添加分页。在这里我解释 datagrid 和 XML 文件中的分页。

数据库

部分将被存储在服务器上的 XML 文件中,名为 PartList.xml。这里的编码是。以下是 XML 文件的结构

<?xml version="1.0" standalone="yes"?>
<NewDataSet>
  <xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema"
   xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
    <xs:element name="part">
      <xs:complexType>
        <xs:sequence>
          <xs:element name="quantity" type="xs:integer" minOccurs="0" msdata:Ordinal="1" />
          <xs:element name="manufacturer" type="xs:string" minOccurs="0" msdata:Ordinal="2" />
          <xs:element name="color" type="xs:string" minOccurs="0" msdata:Ordinal="3" />
          <xs:element name="price" type="xs:float" minOccurs="0" msdata:Ordinal="4" />
        </xs:sequence>
        <xs:attribute name="partid" type="xs:integer" />
      </xs:complexType>
    </xs:element>
    <xs:element name="NewDataSet" msdata:IsDataSet="true">
      <xs:complexType>
        <xs:choice maxOccurs="unbounded">
          <xs:element ref="part" />
        </xs:choice>
      </xs:complexType>
    </xs:element>
  </xs:schema>
  <part partid="1">
    <quantity>2</quantity>
    <manufacturer>Torux</manufacturer>
    <color>Red</color>
    <price>1</price>
  </part>
  <part partid="2">
    <quantity>0</quantity>
    <manufacturer>Pear</manufacturer>
    <color>white</color>
    <price>99.99</price>
  </part>
  <part partid="3">
    <quantity>34</quantity>
    <manufacturer>Torux</manufacturer>
    <color>black</color>
    <price>22.95</price>
  </part>
  <part partid="4">
    <quantity>3</quantity>
    <manufacturer>Torux</manufacturer>
    <color>clear</color>
    <price>45</price>
  </part>
  <part partid="5">
    <quantity>5</quantity>
    <manufacturer>Torux</manufacturer>
    <color>black</color>
    <price>12</price>
  </part>
  <part partid="6">
    <quantity>87</quantity>
    <manufacturer>Torux</manufacturer>
    <color>black</color>
    <price>11.95</price>
  </part>
  <part partid="7">
    <quantity>0</quantity>
    <manufacturer>Pear</manufacturer>
    <color>white</color>
    <price>655.99</price>
  </part>
  <part partid="8">
    <quantity>65</quantity>
    <manufacturer>Pear</manufacturer>
    <color>white</color>
    <price>299.99</price>
  </part>
  <part partid="9">
    <quantity>5</quantity>
    <manufacturer>Pear</manufacturer>
    <color>white</color>
    <price>299.99</price>
  </part>
  <part partid="10">
    <quantity>0</quantity>
    <manufacturer>Torux</manufacturer>
    <color>black</color>
    <price>1.99</price>
  </part>
  <part partid="11">
    <quantity>45</quantity>
    <manufacturer>MacroWare</manufacturer>
    <color>black</color>
    <price>855</price>
  </part>
  <part partid="12">
    <quantity>6</quantity>
    <manufacturer>Pear</manufacturer>
    <color>black</color>
    <price>566.98</price>
  </part>
  <part partid="13">
    <quantity>0</quantity>
    <manufacturer>Torux</manufacturer>
    <color>black</color>
    <price>4</price>
  </part>
  <part partid="14">
    <quantity>44</quantity>
    <manufacturer>MacroWare</manufacturer>
    <color>black</color>
    <price>188.94</price>
  </part>
  <part partid="15">
    <quantity>1</quantity>
    <manufacturer>Pear</manufacturer>
    <color>white</color>
    <price>99</price>
  </part>
  <part partid="16">
    <quantity>9</quantity>
    <manufacturer>Pear</manufacturer>
    <color>white</color>
    <price>34.43</price>
  </part>
  <part partid="17">
    <quantity>56</quantity>
    <manufacturer>MacroWare</manufacturer>
    <color>black</color>
    <price>19.99</price>
  </part>
  <part partid="18">
    <quantity>534</quantity>
    <manufacturer>MacroWare</manufacturer>
    <color>black</color>
    <price>34.88</price>
  </part>
  <part partid="19">
    <quantity>0</quantity>
    <manufacturer>MacroWare</manufacturer>
    <color>black</color>
    <price>998.99</price>
  </part>
  <part partid="20">
    <quantity>5</quantity>
    <manufacturer>Torux</manufacturer>
    <color>black</color>
    <price>5</price>
  </part>
</NewDataSet>

应用程序代码

在 visual studio.net 中,我们打开一个新的网页(webform1.aspx),然后添加此代码

<asp:datagrid id="DataGrid1" runat="server" AllowPaging="True" 
    PageSize="5"></asp:datagrid>

并在代码隐藏文件中添加此代码

 

留言簿将被存储在服务器上的 XML 文件中,名为 guestbook.xml。XML 文件的编码更改为 ISO-8859-1,以便能够处理特殊字符。以下是 XML 文件的结构

Private Sub Page_Load(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles MyBase.Load
        'Fill the Dataset
        Dim ds As New DataSet()
        ds.ReadXml(Server.MapPath(".") & "\..\Xml\PartList.xml")

        'Set the DataGrid's Source and bind it.
        DataGrid1.DataSource = ds
        If Not IsPostBack Then
            DataGrid1.DataBind()
        End If

        'Dispose Items
        ds.Dispose()
    End Sub

    'Implement the EventHandler for PageIndexChanged
    Private Sub ChangePage(ByVal source As Object, ByVal e As _
    System.Web.UI.WebControls.DataGridPageChangedEventArgs) _
    Handles DataGrid1.PageIndexChanged
        DataGrid1.CurrentPageIndex = e.NewPageIndex
        DataGrid1.DataBind()
    End Sub

好的!现在你可以测试你的程序了。希望你喜欢!!

结论

我想说的是,你应该将数据与处理过程分离,并且在这方面,XML 提供了很大的帮助。如果你想更改 datagrod 视图的外观,你只需要更改 asp.net 代码 文件即可。

 

© . All rights reserved.