ds是已经取得DataTable的DataSet实例DataTable dt = new DataTable();
DataRow dr;for (int i = pager.PageSize * (pager.CurrentPageIndex - 1); i <= pager.PageSize; i++)
{
dr = dt.NewRow();
for (int j = 0; j < ds.Tables[0].Columns.Count; j++)
{
dr[j]=ds.Tables[0].Rows[i][j].ToString(); //此行出现无法找到列 0。的提示
}
dt.Rows.Add(dr);
}
DataRow dr;for (int i = pager.PageSize * (pager.CurrentPageIndex - 1); i <= pager.PageSize; i++)
{
dr = dt.NewRow();
for (int j = 0; j < ds.Tables[0].Columns.Count; j++)
{
dr[j]=ds.Tables[0].Rows[i][j].ToString(); //此行出现无法找到列 0。的提示
}
dt.Rows.Add(dr);
}
=>
dr = ds.Tables[0].NewRow();
创建与该表具有相同架构的新DataRow
//dr = dt.NewRow();
dt没有列,dr当然没有列
-->
DataTable dt = ds.Tables[0].Copy();
dt.Rows.Clear()
AspNetPager地址:http://www.ecbcn.com/BBS/dispbbs.asp?BoardID=24&id=294
数据库工厂地址:http://dev.csdn.net/article/26/26098.shtm数据库工厂里IDbDataAdapter的Fill没有重载版本,导致AspNetPager分页的实现出现困难。虽然现在问题解决了,但感觉解决方式不好,高手们有没有更好的解决方式? DataSet ds = DbAccess.Select(strSql);
DataTable dt = new DataTable();
DataRow dr;
foreach (DataColumn dc in ds.Tables[0].Columns)
{
dt.Columns.Add(new DataColumn(dc.ColumnName, dc.DataType));
}
for (int i = pager.PageSize * (pager.CurrentPageIndex - 1); i < pager.PageSize * pager.CurrentPageIndex; i++)
{
if (i < pager.RecordCount)
{
dr = dt.NewRow();
for (int j = 0; j < ds.Tables[0].Columns.Count; j++)
{
dr[j]=ds.Tables[0].Rows[i][j].ToString();
}
dt.Rows.Add(dr);
}
}
Repeater1.DataSource = dt;