با سلام خدمت alon
چنتا نکنه که بتونی داینامیکتر کنی این قسمت.
string ConnectionString = DAL.ConnectionString;
public DataTable ExecuteDataset(string SQLTableName, int PageIndex, int PageSize, string Sort,string asc_dsc)
{
SqlConnection con = new SqlConnection(ConnectionString);
SqlCommand cmd = new SqlCommand("SELECT * FROM (SELECT * , ROW_NUMBER() OVER(ORDER BY " + Sort + ") as RowNum FROM " + SQLTableName + ") as DerivedTableName WHERE RowNum BETWEEN (" + PageIndex + ") AND ((" + PageIndex + " + " + PageSize + ") - 1) Order by " + Sort + " " + asc_dsc + " ", con);
cmd.CommandType = CommandType.Text;
.
.
.
}
برای قسمت جمع تداد رکور ها هم بهتر ازCOUNT(*)استفاده کنی.
private void DataBindGrid()
{
GridView1.DataSource = pg.ExecuteDataset(SQLTableName, PageIndex, PageSize,"TopicID","Desc");
GridView1.DataBind();
}
سمپل کار
http://fakhravary.somee.com/test/Default3.aspx