/// <summary>
/// datatable分页
/// </summary>
/// <param name="dt">源datatable</param>
/// <param name="PageIndex">第几页</param>
/// <param name="PageSize">每页记录数</param>
/// <returns></returns>
public DataTable GetPagedTable(DataTable dt,
int PageIndex,
int PageSize)
{
if (PageIndex ==
0)
return dt;
DataTable newdt =
dt.Copy();
newdt.Clear();
int rowbegin = (PageIndex -
1) *
PageSize;
int rowend = PageIndex *
PageSize;
if (rowbegin >=
dt.Rows.Count)
return newdt;
if (rowend >
dt.Rows.Count)
rowend =
dt.Rows.Count;
for (
int i = rowbegin; i <= rowend -
1; i++
)
{
DataRow newdr =
newdt.NewRow();
DataRow dr =
dt.Rows[i];
foreach (DataColumn column
in dt.Columns)
{
newdr[column.ColumnName] =
dr[column.ColumnName];
}
newdt.Rows.Add(newdr);
}
return newdt;
}
private void sv_ScrollChanged(
object sender, ScrollChangedEventArgs e)
{
try
{
ScrollViewer sv = e.OriginalSource
as ScrollViewer;
if (sv !=
null && e.VerticalChange !=
0)
{
if (sv.VerticalOffset == sv.ExtentHeight - sv.ViewportHeight)
//到底
{
//TODO:加载下条数据
if (SteamDataTable !=
null)
{
Pgindex++
;
AddData(GetPagedTable(SteamDataTable, Pgindex, PageSize));
}
}
}
}
catch
{ }
}
转载于:https://www.cnblogs.com/SeNaiTes/p/10239847.html
相关资源:JAVA上百实例源码以及开源项目