hello everyone.
i have a gridview with 2000 rows. i have filled a page and it fills dynamically very well. one of its object is a linkbutton and when i select it, it opens the requiered page properly.
1. i have changed the page in matrix form with 6 objects in each page. suddently, the libkbutton click has lost it function???!!! may i ask you please see in the attached codes and let me know the reason? i appreciate any correction in form of codes, very kind regards
2. i have used page indexes for pages. but the global value, which is 0 from the beginning, remains 0, even i increament or decreament in next/previous buttons click methods. Why??!! please see the attached codes and i appreciate corrections with codes, very kind regards
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Collections; using System.Text; using System.Data; using System.Data.SqlClient; using System.Configuration; using AjaxControlToolkit; namespace evenemang { public partial class locals : System.Web.UI.Page { string mainconn = ConfigurationManager.ConnectionStrings["CustomerDB"].ConnectionString;//@"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\Users\venus-messiah\source\repos\WebAd\App_Data\CustomerDB.mdf;Integrated Security=True";//ConfigurationManager.ConnectionStrings["connectionstring"].ConnectionString; SqlConnection sqlcon = new SqlConnection(ConfigurationManager.ConnectionStrings["CustomerDB"].ConnectionString);//@"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\Users\venus-messiah\source\repos\WebAd\App_Data\CustomerDB.mdf;Integrated Security=True"); //@"Data Source=d:\web\localuser\myearn.org\world\App_Data\customerDB.mdf;Integrated Security=True"; DataTable dt = new DataTable(); string search, namn, nr; int m = 0, Pindex=0, Psize=6; string[] name = new string[9000]; string[] image = new string[9000]; string[] Email = new string[9000]; Sorting objSorting = new Sorting(); private string SortDirection { get { return ViewState["SortDirection"] != null ? ViewState["SortDirection"].ToString() : "ASC"; } set { ViewState["SortDirection"] = value; } } protected void Page_Load(object sender, EventArgs e) { Session["result"] = null; if (Session["search"] != null) //from search { search = Session["search"].ToString(); if (Session["Name"] != null && search == "search") { namn = Session["Name"].ToString(); BindGridView(1); Session["search"] = null; } else lblMessage.Text = "No title!"; } if (!IsPostBack) { Session["result"] = null; BindGridView(0); } FillPage(Pindex, Psize); } void BindGridView(int n) { SqlCommand commandad = new SqlCommand("", sqlcon); if (n == 0) { string query = string.Format("Select * from customerad"); commandad.CommandText = query; } else if (n == 1) { string query = string.Format("Select * from customerad where Name='{0}'", namn); commandad.CommandText = query; } SqlDataAdapter da = new SqlDataAdapter(commandad); DataTable dt = new DataTable(); da.Fill(dt); GridView1.DataSource = dt; GridView1.DataBind(); Session["Name"] = null; } string bringreview(string k) { string betyg = ""; string q = string.Format("Select * from tblrating where Email='{0}'", k); using (var conad = new SqlConnection(mainconn)) using (var comandad = new SqlCommand(q, conad)) { conad.Open(); SqlDataReader reader = comandad.ExecuteReader(); while (reader.Read()) { betyg = (reader.GetInt32(4)).ToString(); } conad.Close(); } return betyg; } protected void FillPage(int pageindex, int pagesize) { HtmlForm form2 = new HtmlForm(); TableRow row = null; int col = 0, rows=0; int mm= GridView1.Rows.Count/6; int totalColumns = 3; int totalrows = 2; for ( int i = pageindex*pagesize; i<(1+pageindex)*pagesize && i < GridView1.Rows.Count; i++) { if (col == 0) { row = new TableRow(); mytable.Rows.Add(row); // Add a new row to the table } TableCell cell = new TableCell(); Panel panel = new Panel(); // Add your controls to the panel here nr = GridView1.Rows[i].Cells[0].Text; //id m = Convert.ToInt32(nr); //id LinkButton adName = new LinkButton(); adName.Text = nr + ": " + GridView1.Rows[i].Cells[1].Text; //+ ": Name: " name[i] = GridView1.Rows[i].Cells[1].Text; panel.Controls.Add(adName); adName.Click += new EventHandler(this.adName_Click); ImageMap ImageMap1 = new ImageMap(); ImageMap1.Height = 150; ImageMap1.Width = 150; ImageMap1.ImageUrl = GridView1.Rows[i].Cells[11].Text; image[i] = GridView1.Rows[i].Cells[11].Text; panel.Controls.Add(ImageMap1); Label adprice = new Label(); adprice.Text = " pris: " + GridView1.Rows[i].Cells[9].Text + " kr"; panel.Controls.Add(adprice); Label adSeat = new Label(); adSeat.Text = " Sittande: " + GridView1.Rows[i].Cells[12].Text; panel.Controls.Add(adSeat); Label adStand = new Label(); adStand.Text = " Stående: " + GridView1.Rows[i].Cells[13].Text; panel.Controls.Add(adStand); Label adbetyg = new Label(); adbetyg.Text = " Betyg: " + bringreview(GridView1.Rows[i].Cells[3].Text); panel.Controls.Add(adbetyg); Label adEmail = new Label(); adEmail.Text = " Email: " + GridView1.Rows[i].Cells[3].Text; Email[i] = GridView1.Rows[i].Cells[3].Text; //string betyg = bringreview(Email[i]); adEmail.Visible = false; panel.Controls.Add(adEmail); cell.Controls.Add(panel); row.Cells.Add(cell); this.form2.Controls.Add(mytable); col++; if (col == totalColumns) //a row is filled { col = 0; rows++; if (rows == totalrows) //all rows all filled (2 rows) { rows = 0; if (mm == 0 && pageindex==0) //items of all pages { lblPage.Text = (pageindex+1).ToString(); btnPrev.Visible = false; btnNext.Visible = false; } else if(mm != 0 && pageindex == 0) { lblPage.Text = (pageindex + 1).ToString(); //lnkbNext.Text = "Next"; btnPrev.Visible = false; btnNext.Visible = true; } else if(mm != 0 && pageindex > 0 && pageindex < mm + 1) { lblPage.Text = (pageindex + 1).ToString(); //lnkbNext.Text = "Next"; //lnkbPrev.Text = "Previous"; btnPrev.Visible = true; btnNext.Visible = true; } else if (mm != 0 && pageindex == mm + 1) { lblPage.Text = (pageindex + 1).ToString(); //lnkbNext.Text = "Next"; //lnkbPrev.Text = "Previous"; btnPrev.Visible = true; btnNext.Visible = false; } } } } } protected void btnPrev_Click(object sender, EventArgs e) { Pindex--; //it becomes -1 becasue Pindex remains 0 BindGridView(0); FillPage(Pindex, Psize); } protected void btnNext_Click(object sender, EventArgs e) { Pindex++; //it becomes 1 becasue Pindex remains 0 BindGridView(0); FillPage(Pindex, Psize); } private void adName_Click(object sender, EventArgs e) { LinkButton adName = sender as LinkButton; var s1 = adName.Text.Split(':'); Session["nr"] = s1[0]; Session["Image"] = image[Convert.ToInt32(s1[0]) - 1]; Server.Transfer("adpage.aspx"); } } }