Hej Hej, svårt att svara på frågan genom att bara se definitionen på kontrollen. För att kunna finna några fel borde connectionsträng och liknande kod för hur du skapar ditt dataset behövas för att se vad som kan vara fel. Oki. här kommer lite mer kod. Förtydligande: Det är själva DataBind() som tar 6 sek. Att hämta datan går blixtsnabbt. Är det databind som tar så lång tid måste dessa 120 poster ha bra många kolumner eller? Databind kopplar datat och bygger upp datagridden vilket resulterar i html-kod. Hur många kb är sidan om man kör properties via Internet Explorer? Har du någon formatering för kolumnerna i datagridden som sker när det blir en databinding?...det är kanske det som tar lång tid. Sätt breakpoints i alla event i koden du har för gridden för att kontrollera att det inte är någon utav dem som tar lång tid på sig vid en databind... Om du istället binder den mot en tabell. Tar det lika lång tid. vid .fill så hämtas ju datat, så där kan det inte vara. Han nämner databind så jag tror mer på renderingen. Dra igång trace och se vilken sektion som tar mest tid - likaså kolla viewstate hur stor den blir.. Stäng av viewstate på datagridden osv, osv.Låååååångsam DataBind()
Har lagt ut den här frågan på webben men inte fått ngt svar. Någon här som kan hjälpa mig.
http://groups.google.com/group/microsoft.public.dotnet.framework.aspnet.datagridcontrol/browse_frm/thread/6e495509663f41b8/059cfacff7ca25cf?lnk=st&q=kederstedt&rnum=4#059cfacff7ca25cf
Tack på förhand
//JohanSv: Låååååångsam DataBind()
Du nämnde att det tog 6 sek från sp:n att hämta data. Redan där låter det konstigt för endast 120 poster. Men som sagt, svårt att kunna hjälpa till utan mer information, troligen därför du inte fått något svar.Sv:Låååååångsam DataBind()
//det finns ca 8 parametrar
OleDbConnection conDB1 = DBConnection.GetConnection();
OleDbCommand cmd = new OleDbCommand("sp_elsaSortAvtal",conDB1);
cmd.CommandType = CommandType.StoredProcedure;
OleDbParameter prm ;
if(kundorgnr.Length >0)
{
prm = new OleDbParameter("@kundorgnr", OleDbType.VarChar, 10);
prm.Value = kundorgnr;
cmd.Parameters.Add(prm);
}
else
{
prm = new OleDbParameter("@kundorgnr", OleDbType.VarChar, 10);
prm.Value = "%";
cmd.Parameters.Add(prm);
}
....
OleDbDataAdapter myCommand = new OleDbDataAdapter(cmd);
DataSet ds = new DataSet();
myCommand.Fill(ds);
DGProspectKund.DataSource = ds;
DGProspectKund.DataBind(); <----- Detta tar 6 sek Sv: Låååååångsam DataBind()
Sv: Låååååångsam DataBind()
Sv: Låååååångsam DataBind()
Genom att testa det kan du ta reda om det är din sp eller om det är ASP.NET som tar tid.
För mig är det troligast att det är din SP som tar tid.
Hur ser din sp ut?Sv:Låååååångsam DataBind()