本程序简单示例使用ASP.NET来读取XML数据到dataset,并分页,直接上代码:
protected void CustomerListStore_RefreshData(object sender, StoreRefreshDataEventArgs e)
{
//读取xml
DataSet ds = new DataSet();
ds.ReadXml(Utils.MapPath("source/WebImgdb.xml"));
System.Data.DataView dv= ds.Tables[0].DefaultView;
int PageIndex = 0;
PageIndex = e.Start / e.Limit + 1;
e.TotalCount = Convert.ToInt32(ds.Tables[0].Rows.Count);
int start = 0;
int end = 0;
start = e.Start;
end = start + e.Limit;
DataTable dt = LimitData(ds, start,end);
ImgStore.DataSource = dt;
ImgStore.DataBind();
}
/// <summary>
/// 分页处理dataset,返回datatable
/// </summary>
/// <param name="ds"></param>
/// <param name="start"></param>
/// <param name="end"></param>
/// <returns></returns>
protected DataTable LimitData(DataSet ds, int start, int end)
{
DataTable dt = ds.Tables[0];
DataTable newdt = new DataTable();
newdt = dt.Clone(); //复制datatable结构到新表
if (start > dt.Rows.Count)
start = dt.Rows.Count;
if (end > dt.Rows.Count)
end = dt.Rows.Count;
for (int i = start; i < end; i++)
{
newdt.ImportRow(dt.Rows[i]); //复制datatable行数据到新表
}
return newdt;
}
|