[ bokac @ 25.05.2004. 22:36 ] @
Pravim asp.net stranu sa DataGrid-om koji lista podatke po 20 iz baze. Problem je u tome sto moj DataGrid ne lista zaista podatke, a ne shvatam sta sam pogresio u kodu. Evo ga primer koda pa ako moze neko da mi pomogne. Hvala. Code: public class WebForm1 : System.Web.UI.Page { protected System.Web.UI.WebControls.Button butt; protected System.Web.UI.WebControls.DataGrid DataGrid1; protected int sIndex; private void Page_Load(object sender, System.EventArgs e) { } private void butt_Click(object sender, System.EventArgs e) { Binding(); } public void Binding() { string veza="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Inetpub\\wwwroot\\NekiFolder\\baza.mdb"; OleDbConnection conn=new OleDbConnection(veza); string strCom; if(IsPostBack) { sIndex =0; strCom = "SELECT TOP 1 id FROM tabela1 ORDER BY id DESC" ; OleDbCommand countCommand = new OleDbCommand(strCom, conn); conn.Open(); OleDbDataReader countReader=countCommand.ExecuteReader(); if(!countReader.Read()) { DataGrid1.VirtualItemCount=0; } else { DataGrid1.VirtualItemCount= countReader.GetInt32(0); } conn.Close(); } strCom="SELECT TOP 20 id, a1, a2, a3, a4 FROM tabela1 WHERE id < "+(DataGrid1.VirtualItemCount-(sIndex-1) )+" ORDER BY id DESC"; OleDbCommand fCommand=new OleDbCommand(strCom, conn); conn.Open(); OleDbDataReader fReader=fCommand.ExecuteReader(); DataGrid1.DataSource=fReader; DataGrid1.DataBind(); conn.Close(); } private void DataGrid1_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e) { DataGrid1.CurrentPageIndex=e.NewPageIndex; sIndex=(DataGrid1.CurrentPageIndex*DataGrid1.PageSize); Binding(); } Podesavanja DataGrid-a: AllowPaging="True" AllowCustomPaging="True" PageSize="20" |