Jag dristar mig att försöka ställa en fråga till, trots att svar på tidigare frågor i närmaste har uteblivit.Problem med paging och dynamisk SQL
På min sida så har jag ett antal dropdownlistboxar, och beroende på hur man ställer in de, så byggs
SQL:en upp.
<code>
sql = "SELECT PortID,Forening,Tillhor,Adress,PostNr,Ort,
KontaktNamn,Epost,URL,Klient,Free,HaveURL,EpostSent FROM t_Forening";
int start = 0;
sql = "SELECT PortID,Forening,Tillhor,Adress,PostNr,Ort,
KontaktNamn,Epost,URL,Klient,Free,HaveURL,EpostSent FROM t_Forening";
int start = 0;
if (DropDownListOrt.Text != "None")
{
sql += " WHERE Ort = '" + DropDownListOrt.Text + "'";
start = 1;
isSession = true;
}
if (DropDownKlient.Text != "None")
{
if (start == 0)
{
sql += " WHERE Free = " + DropDownKlient.Text;
start = 1;
}
else
sql += " And Free = " + DropDownKlient.Text;
isSession = true;
}
</code>
Detta fungerar kanonbra. Till detta så har jag lagt till en paging.
<code>
private int myCurrentPageIndex;
PagedDataSource objPDS = new PagedDataSource();
objPDS.DataSource = Webbutil.fillDs(DBConn, sql, "Klienter").Tables["Klienter"].DefaultView;
objPDS.AllowPaging = true;
objPDS.PageSize = 10;
myCurrentPageIndex = Convert.ToInt32(Request.QueryString["sida"]);
objPDS.CurrentPageIndex = myCurrentPageIndex;
int antal = objPDS.PageCount;
int totalt = objPDS.CurrentPageIndex + 1;
</code>
..ni känner säkert igen page koden, det är taget ifrån en artikel här på Pellesoft.
och i page_load
<code>
if (!IsPostBack)
{
fillListBox();
}
else
makeSQL();
</code>
Mitt problem:
När jag har plockat ihop min sql via listboxarna och gör sökningen (klickar på en knapp) då hittas
resultatet och pagingen tar ut alla ev sidor. När jag sedan försöker blädra, då försvinner GridView, menn
gör jag om sökning med samma inställningar, då kommer jag till nästa sida.
Jag hoppas att ni förstår problemet.
Hur löser jag detta???