Ich arbeite in E-Commerce-Website. Ich habe Listview-Steuerelement verwendet, um Produkte zu füllen. Auf einer Seite zeige ich 36 Produkte. Wenn ich jetzt mit Blättern auf die nächste Seite gehen möchte, funktioniert es nicht. Die Seite bleibt nur auf der ersten Seite. Ich habe 2 Lösungen ausprobiert.Datapager in Listview funktioniert nicht
Paging-Code
protected void OnPagePropertiesChanging(object sender, PagePropertiesChangingEventArgs e)
{
if (IsPostBack) {
DataPager pgr = products.FindControl("DataPager1") as DataPager;
if (pgr != null && products.Items.Count != pgr.TotalRowCount) {
pgr.SetPageProperties(0, pgr.MaximumRows, false);
}
}
}
Ich habe viele CheckBoxList auf Filter Listview-Daten als auch. Also hier habe ich daran gedacht, dass, wenn der Benutzer auf einige Filter & wenn Zeilen < 36 dann Ergebnis von Seite 1 zeigt. In meinem unten Code funktioniert Paging ordnungsgemäß, aber wenn oben genannten Szenario passiert, dann wird es angezeigt leere Seite.
protected void OnPagePropertiesChanging(object sender, PagePropertiesChangingEventArgs e)
{
(products.FindControl("DataPager1") as DataPager).SetPageProperties(e.StartRowIndex, e.MaximumRows, false);
this.populateProducts();
}
UPDATE Pageload
try {
query = "SELECT * FROM products where stock_status = @stock_status and status = @status";
string conString = ConfigurationManager.ConnectionStrings("conio").ConnectionString;
MySqlConnection con = new MySqlConnection(conString);
MySqlCommand cmd = new MySqlCommand(query);
cmd.Parameters.AddWithValue("@stock_status", "Ready Stock");
cmd.Parameters.AddWithValue("@status", "active");
con.Open();
MySqlDataAdapter da = new MySqlDataAdapter();
cmd.Connection = con;
da.SelectCommand = cmd;
DataTable dt = new DataTable();
da.Fill(dt);
ViewState("Data") = dt;
products.DataSource = dt;
products.DataBind();
catHeading.Text = "Products In Ready Stock";
itemCount.Text = dt.Rows.Count.ToString;
catSliderHeader.Text = "Categories";
Page.Title = "Ready Stock Products" + " | BrandSTIK";
con.Close();
} catch (Exception ex) {
Response.Write(ex);
}
Wenn ich PopulateProducts unter IsPostBack setzen dann wird es keine Daten bekommen, wenn Laden der Seite – SUN
Können Sie Ihre page_load Ereigniscode schreiben? –
Aktualisierter Seitenlade-Ereigniscode – SUN