如果你用的是SQL Server2005那就可以用行号来分页取数 如果你用的是SQL Server2000那就用SQL模拟分页取, 但是效率不高 如select Top 100 * from (select top n*100 * from A order by iID ASC) order by iID DESC, 这个是从A表中取第n页的数据, 每页100条记录, 但是n越大, 速度越慢
to 可晚的分页操作不需要DataGrid,只是作为使用数据的一个源,难道真的.NET牺牲了这么多灵活的功能分页数据是分页数据,分页显示是分页显示,前者没什么直接关系需要匹配后者,但后者是在前者的基础上进行操作的。那么就你的所说的,按照我给的例子,只要做前部分就行了。你不想用datagrid,就不进行绑定即可,没说非要进行绑定。
public System.Data.DataView FilterData(System.Data.DataTable pTable,ChangePageArgs e) { System.Data.DataView dv = new System.Data.DataView(pTable); int rowCount = dv.Count; if(e.PageSize ==0) return dv; int startRow = (e.PageIndex-1) * e.PageSize; int endRow = startRow + e.PageSize ; for(int i = startRow ;i< endRow;i++) { if(i >= pTable.Rows.Count ) break; pTable.Rows[i].Delete(); } dv.RowStateFilter = System.Data.DataViewRowState.Deleted; return dv; } [Serializable] public class ChangePageArgs:EventArgs { public ChangePageArgs() { } private int _PageIndex; public int PageIndex { get { return _PageIndex; } set { _PageIndex = value; } } private int _PageSize; public int PageSize { get { return _PageSize; } set { _PageSize = value; } } }
http://blog.csdn.net/knight94/archive/2006/03/23/635885.aspx
如果你用的是SQL Server2000那就用SQL模拟分页取, 但是效率不高
如select Top 100 * from (select top n*100 * from A order by iID ASC) order by iID DESC, 这个是从A表中取第n页的数据, 每页100条记录, 但是n越大, 速度越慢
myConnection.ConnectionString=strConn;
SqlDataAdapter da= new SqlDataAdapter(str,myConnection);
DataSet ds=new DataSet();
da.Fill(ds,"t1");
-----------
现在只要找到方法,获取到ds里面的总数,我就能自己写分页
{
System.Data.DataView dv = new System.Data.DataView(pTable);
int rowCount = dv.Count;
if(e.PageSize ==0)
return dv;
int startRow = (e.PageIndex-1) * e.PageSize;
int endRow = startRow + e.PageSize ;
for(int i = startRow ;i< endRow;i++)
{
if(i >= pTable.Rows.Count )
break;
pTable.Rows[i].Delete();
}
dv.RowStateFilter = System.Data.DataViewRowState.Deleted;
return dv;
}
[Serializable]
public class ChangePageArgs:EventArgs
{
public ChangePageArgs()
{
}
private int _PageIndex;
public int PageIndex
{
get
{
return _PageIndex;
}
set
{
_PageIndex = value;
}
}
private int _PageSize;
public int PageSize
{
get
{
return _PageSize;
}
set
{
_PageSize = value;
}
}
}
1.什么属性可以访问单个字段值如dr["name"]这种方式
2.什么属性,可以得到当前记录集的部条数
3.什么属性可以依次访问各值如ROWS["行号"]["列号"]
其实的我自己用循环做,我们想问的一切的一切,都是这这些而已
DataSet ds = new DataSet();
myda.Fill(ds,"RusTable");
ds.Table["RusTable"].Rows.Count是条数.它是个数据集.他的table属性了.
2.DataSet.Tables[表格索引].Rows.Count 记录数
你要的是这个么?