Private void page_load (Object sender, system. eventargs E)
{
This. btnpreviouspage. Click + = new system. eventhandler (this. navigatetopage );
This. btnnextpage. Click + = new system. eventhandler (this. navigatetopage );
If (! Ispostback)
{
Startindex = 0;
Sqlconnection myconnection = new sqlconnection ("Data Source = NGB-INTRATST-1; user id = winc; Password = 123; initial catalog = winc ;");
Sqlcommand mycommand = new sqlcommand ("select num = count (*) from authors", myconnection );
Myconnection. open ();
Sqldatareader DR = mycommand. executereader (commandbehavior. singlerow );
If (dr. Read ())
Mydatagrid. virtualitemcount = (INT) Dr ["num"];
Dr. Close ();
Myconnection. Close ();
Bindgridtosource (startindex, "previous shard ");
}
}
------------------------------------------------------------------
Private void bindgridtosource (INT startposition, string gotopage)
{
Sqlconnection myconnection = new sqlconnection ("Data Source = NGB-INTRATST-1; user id = winc; Password = 123; initial catalog = winc ;");
Sqlcommand mycommand = NULL;
Switch (gotopage)
{
Case "previous example ":
Mycommand = new sqlcommand ("select top 5 au_id, au_lname, au_fname," +
"Phone, address, city, state, zip, contract from authors" + "+
"Where au_id >=@ uid order by au_id", myconnection );
If (startposition = 0)
Mycommand. Parameters. Add ("@ uid", sqldbtype. nvarchar, 4). value = "0 ";
Else
Mycommand. Parameters. Add ("@ uid", sqldbtype. nvarchar, 4). value =
Viewstate [(mydatagrid. currentpageindex + 1). tostring ()];
Break;
Case "next cursor ":
Mycommand = new sqlcommand ("select top 5 au_id, au_lname, au_fname," +
"Phone, address, city, state, zip, contract from authors" + "+
"Where au_id> @ uid order by au_id", myconnection );
Mycommand. Parameters. Add ("@ uid", sqldbtype. nvarchar, 4). value =
Mydatagrid. items [4]. cells [0]. text;
Break;
}
Myconnection. open ();
Sqldatareader DR = mycommand. executereader ();
Mydatagrid. datasource = Dr;
Mydatagrid. databind ();
Dr. Close ();
Myconnection. Close ();
Viewstate [(mydatagrid. currentpageindex + 1). tostring ()] =
Mydatagrid. items [0]. cells [0]. text;
}
-----------------------------------------------------------------------
Public void navigatetopage (Object sender, system. eventargs E)
{
String pageinfo = (button) sender). commandname;
Switch (pageinfo)
{
Case "previous example ":
If (mydatagrid. currentpageindex> 0)
Mydatagrid. currentpageindex-= 1;
Else
Return;
Break;
Case "next cursor ":
If (mydatagrid. currentpageindex <(mydatagrid. pagecount-1 ))
Mydatagrid. currentpageindex + = 1;
Else
Return;
Break;
}
Startindex = mydatagrid. currentpageindex * mydatagrid. pagesize;
Bindgridtosource (startindex, pageinfo );
}