一般情况下,GridView数据控件,它本身有一个语法代码,即GridView1.Rows.Count。返回的是总记录数,但是这个总记录数,是当前页的总记录数,如果GridView1没有启用分页功能,那么,这个总记录数就对了,然而,如果GridView1使用了分页功能,那么,这个Rows.Count返回的仅是当前页的记录数,并非所有数据的总数。
所以,如果我们使用了GridView数据控件,同时,又启用了分页功能,那么,只能通过下面的办法来获取真正的总记录数。
DataSet MyDs = new DataSet();
MyAdapter.Fill(MyDs, "MyTables");
DataTable DT = MyDs.Tables["MyTables"];
GridView1.DataSource = MyDs;
GridView1.DataKeyNames = new string[] {"ID"};
GridView1.DataBind();
Label1.Text ="真正的总记录数为:"+ DT.Rows.Count.ToString().Trim();
通过上面的代码,就能获取总记录数了。
在平时,当我们使用DataSet和Adapter的时候,是不会使用DataTable DT = MyDs.Tables["MyTables"];这一行的。因为没必要。
但是,在这里,我们非常需要这一行。因为它的功能就是将数据集中的所有数据,存入到数据表DT中,最后,通过DT数据表,获取真正的总记录数。就是这一行: DT.Rows.Count.ToString().Trim();