Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

DataGrid, sta nije u redu?

[es] :: .NET :: DataGrid, sta nije u redu?

[ Pregleda: 2728 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

bokac
Beograd

Član broj: 19866
Poruke: 110
*.dial.b92.net



Profil

icon DataGrid, sta nije u redu?25.05.2004. u 22:36 - pre 242 meseci
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"
 
Odgovor na temu

ZokiR
Zoran Radojković
Melburn, Australija

Član broj: 15986
Poruke: 109
*.nexnet.net.au



Profil

icon Re: DataGrid, sta nije u redu?26.05.2004. u 01:48 - pre 242 meseci
Kako misliš „ne lista zaista“? Meni se čini da bi ovaj kod prikazao inicijalnu listu kada korisnik pritisne dati taster, ali Paging ne bi radio zato što reinicijalizuješ sIndex na nulu svaki put kada pozoveš Biniding().

Pored toga, onaj if (PostBack) u Binding() metodi ti je suvišan, zato što je to uvek tačno. A i "SELECT TOP 1 id FROM tabela1 ORDER BY id DESC" možeš da zameniš sa "SELECT MAX(id) FROM tabela1".
 
Odgovor na temu

bokac
Beograd

Član broj: 19866
Poruke: 110
*.sbb.co.yu



Profil

icon Re: DataGrid, sta nije u redu?26.05.2004. u 09:58 - pre 242 meseci
Hmmm, hvala ti ali izgleda da nece da mi radi ni na taj nacin koji kazes. Sada u najboljem slucaju dobijam samo prvih 20 bez Paging-a strana, a u najlosijem ne dobijam nista. Mislim da mi je kljucni problem oko postavljanja zadnje vrednosti ID prilikom svakog sledeceg zahteva strane. Jel zna neko bolji nacin za Page-ovanje DataGrid iz SqlDataReader-a. Znaci da od ukupno podataka DataGrid prikaze prvih 20 pa sledecim klikom na page-2 narednih 20 uz ponovni upit baze i sl. ?
 
Odgovor na temu

Radudzoni
Radoslav Jovanovic
Beograd

Član broj: 8384
Poruke: 133
*.beotel.net



Profil

icon Re: DataGrid, sta nije u redu?30.05.2004. u 23:42 - pre 242 meseci
Pogledaj ovaj clanak, pomoci ce ti sigurno...
Tu imas Pageing & Sorting u DataGrid Web kontroli...
http://www.dotnetjohn.com/articles/articleid108.aspx

pozdrav
 
Odgovor na temu

bokac
Beograd

Član broj: 19866
Poruke: 110
*.yubc.net



Profil

icon Re: DataGrid, sta nije u redu?31.05.2004. u 08:17 - pre 241 meseci
Thanks Radudzoni, svaka pomoc je uvek dobrodosla.

Pozdrav.
 
Odgovor na temu

[es] :: .NET :: DataGrid, sta nije u redu?

[ Pregleda: 2728 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.