using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data; using System.Configuration; using System.Data.SqlClient; namespace GenericSolution { public partial class Comp : System.Web.UI.Page { PagedDataSource pds = new PagedDataSource(); protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { string MenuId = Request.QueryString["MenuId"]; string CatId = Request.QueryString["Cid"]; dcGenericDataContext db = new dcGenericDataContext(); var pro = from p in db.Offers.OrderByDescending(p => p.Id) //where p.CategoryId.Equals(CatId) select p; DataList1.DataSource = pro; DataList1.DataBind(); var wir4 = from c in db.category_mains where c.ID == 1 select c; Repeater4.DataSource = wir4; Repeater4.DataBind(); var wir3 = from c in db.category_mains where c.ID == 2 select c; Repeater1.DataSource = wir3; Repeater1.DataBind(); var wir5 = from c in db.category_mains where c.ID == 3 select c; Repeater2.DataSource = wir5; Repeater2.DataBind(); var computer = from c in db.category_mains where c.ID == 18 select c; Repeater3.DataSource = computer; Repeater3.DataBind(); bindDataList(); //ProductCategory CatName = db.ProductCategories.Single(c => c.Id.Equals(CatId)); //LblCatName.Text = CatName.NameEn; } } protected void dlPaging_ItemCommand(object source, DataListCommandEventArgs e) { if (e.CommandName.Equals("lnkbtnPaging")) { CurrentPage = Convert.ToInt16(e.CommandArgument.ToString()); bindDataList(); } } protected void dlPaging_ItemDataBound(object sender, DataListItemEventArgs e) { LinkButton lnkbtnPage = (LinkButton)e.Item.FindControl("lnkbtnPaging"); if (lnkbtnPage.CommandArgument.ToString() == CurrentPage.ToString()) { lnkbtnPage.Enabled = false; lnkbtnPage.Font.Bold = true; } } protected void dlPaging2_ItemCommand(object source, DataListCommandEventArgs e) { if (e.CommandName.Equals("lnkbtnPaging2")) { CurrentPage = Convert.ToInt16(e.CommandArgument.ToString()); bindDataList(); } } protected void dlPaging2_ItemDataBound(object sender, DataListItemEventArgs e) { LinkButton lnkbtnPage2 = (LinkButton)e.Item.FindControl("lnkbtnPaging2"); if (lnkbtnPage2.CommandArgument.ToString() == CurrentPage.ToString()) { lnkbtnPage2.Enabled = false; lnkbtnPage2.Font.Bold = true; } } public int CurrentPage { get { if (this.ViewState["CurrentPage"] == null) return 0; else return Convert.ToInt16(this.ViewState["CurrentPage"].ToString()); } set { this.ViewState["CurrentPage"] = value; } } private void doPaging() { DataTable dt = new DataTable(); dt.Columns.Add("PageIndex"); dt.Columns.Add("PageText"); for (int i = 0; i < pds.PageCount; i++) { DataRow dr = dt.NewRow(); dr[0] = i; dr[1] = i + 1; dt.Rows.Add(dr); } dlPaging.DataSource = dt; dlPaging.DataBind(); } private void doPaging2() { DataTable dt = new DataTable(); dt.Columns.Add("PageIndex"); dt.Columns.Add("PageText"); for (int i = 0; i < pds.PageCount; i++) { DataRow dr = dt.NewRow(); dr[0] = i; dr[1] = i + 1; dt.Rows.Add(dr); } dlPaging2.DataSource = dt; dlPaging2.DataBind(); } void bindDataList() { string image; string connn = ConfigurationManager.ConnectionStrings["GenericConnectionString"].ConnectionString; SqlConnection con = new SqlConnection(connn); con.Open(); string str = "select Id,TitleAr,MainImage,priceAfter,priceBefor from Offer where ([IsActive] = @IsActive) "; SqlCommand cmd = new SqlCommand(str, con); if (cmd.Parameters.AddWithValue("@IsActive", 2) != null) { Image1.Visible = true; } SqlDataAdapter da = new SqlDataAdapter(cmd); GridView1.DataBind(); DataSet ds = new DataSet(); da.Fill(ds); DataList1.DataSource = ds; DataList1.DataBind(); pds.DataSource = ds.Tables[0].DefaultView; pds.AllowPaging = true; pds.PageSize = 32; pds.CurrentPageIndex = CurrentPage; lnkbtnNext.Enabled = !pds.IsLastPage; lnkbtnPrevious.Enabled = !pds.IsFirstPage; LinkButton2.Enabled = !pds.IsLastPage; LinkButton1.Enabled = !pds.IsFirstPage; lbl1.Text = "عرض " + (CurrentPage + 1).ToString() + " من " + pds.PageCount.ToString(); lbl2.Text = "عرض " + (CurrentPage + 1).ToString() + " من " + pds.PageCount.ToString(); DataList1.DataSource = pds; DataList1.DataBind(); doPaging(); doPaging2(); con.Close(); } protected void lnkbtnPrevious_Click(object sender, EventArgs e) { CurrentPage -= 1; bindDataList(); } protected void lnkbtnNext_Click(object sender, EventArgs e) { CurrentPage += 1; bindDataList(); } protected void LinkButton1_Click(object sender, EventArgs e) { CurrentPage -= 1; bindDataList(); } protected void LinkButton2_Click(object sender, EventArgs e) { CurrentPage += 1; bindDataList(); } } }