Sunday, 22 February 2015

Showing data in a single Datalist from multiple datasources and doing paging for them as well..

public void BindCurrentDatalist()
    {
        DataSet dsSelectSearchFields = new DataSet();
        string Gender;
        string vReligion;
        string Lang;
        string Caste;
        string Min;
        string Max;
        string MStatus;
        string Country;
        string City;
        string Children;
        string WorkStatus;
        string Occupation;
        string vEducation;
        string Income;
        string Diet;
        string Drink;
        string Smoke;
        string BodyType;
        string Complexion;
        string HIV;
        string Challenged;
        string MinHeight;
        string MaxHeight;
        string vMotherTongue;

        if (Request.QueryString["Gender"] != null && Request.QueryString["Religion"] != null && Request.QueryString["MotherTongue"] != null &&
            Request.QueryString["Caste"] != null && Request.QueryString["FromYrs"] != null && Request.QueryString["ToYrs"] != null &&
            Request.QueryString["MaritalStatus"] != null && Request.QueryString["Country"] != null && Request.QueryString["City"] != null)
        {
            Gender = Request.QueryString["Gender"];
            vReligion = Request.QueryString["Religion"];
            Lang = Request.QueryString["MotherTongue"];
            Caste = Request.QueryString["Caste"];
            Min = Request.QueryString["FromYrs"];
            Max = Request.QueryString["ToYrs"];
            MStatus = Request.QueryString["MaritalStatus"];
            Country = Request.QueryString["Country"];
            City = Request.QueryString["City"];
            dsSelectSearchFields.Clear();
            dsSelectSearchFields = objProfileDetails.AdvanceSearch(Gender, vReligion, Lang, Caste, Min, Max, MStatus, Country, City);
            ViewState["dsSelectSearchFields"] = dsSelectSearchFields;
        }

        else if (Request.QueryString["Gender"] != null && Request.QueryString["FromYrs"] != null && Request.QueryString["ToYrs"] != null &&
            Request.QueryString["MinHeight"] != null && Request.QueryString["MaxHeight"] != null && Request.QueryString["MaritalStatus"] != null &&
            Request.QueryString["Children"] != null && Request.QueryString["Religion"] != null && Request.QueryString["MotherTongue"] != null &&
            Request.QueryString["WorkStatus"] != null && Request.QueryString["Occupation"] != null && Request.QueryString["Education"] != null &&
            Request.QueryString["Income"] != null && Request.QueryString["Country"] != null && Request.QueryString["Diet"] != null &&
            Request.QueryString["Drink"] != null && Request.QueryString["Smoke"] != null && Request.QueryString["BodyType"] != null &&
            Request.QueryString["Complexion"] != null && Request.QueryString["HIV"] != null && Request.QueryString["Challenged"] != null)
        {
            Gender = Request.QueryString["Gender"];
            Min = Request.QueryString["FromYrs"];
            Max = Request.QueryString["ToYrs"];
            MinHeight = Request.QueryString["MinHeight"];
            MaxHeight = Request.QueryString["MaxHeight"];
            MStatus = Request.QueryString["MaritalStatus"];
            Children = Request.QueryString["Children"];
            vReligion = Request.QueryString["Religion"];
            vMotherTongue = Request.QueryString["MotherTongue"];
            WorkStatus = Request.QueryString["WorkStatus"];
            Occupation = Request.QueryString["Occupation"];
            vEducation = Request.QueryString["Education"];
            Income = Request.QueryString["Income"];
            Country = Request.QueryString["Country"];
            Diet = Request.QueryString["Diet"];
            Drink = Request.QueryString["Drink"];
            Smoke = Request.QueryString["Smoke"];
            BodyType = Request.QueryString["BodyType"];
            Complexion = Request.QueryString["Complexion"];
            HIV = Request.QueryString["HIV"];
            Challenged = Request.QueryString["Challenged"];
            dsSelectSearchFields.Clear();
            dsSelectSearchFields = objProfileDetails.ProfileAdvanceSearch(Gender, Min, Max, MinHeight, MaxHeight, MStatus, Children, vReligion, vMotherTongue,
                WorkStatus, Occupation, vEducation, Income, Country, Diet, Drink, Smoke, BodyType, Complexion, HIV, Challenged);
            ViewState["dsSelectSearchFields"] = dsSelectSearchFields;
        }

        else
        {
            Gender = ddlBrideGroom.SelectedItem.Text;
            vReligion = ddlReligion.SelectedItem.Text;
            Lang = ddlMotherTongue.SelectedItem.Text;
            Caste = ddlCaste.SelectedItem.Text;
            Min = ddlFromYrs.SelectedItem.Text;
            Max = ddlToYrs.SelectedItem.Text;
            MStatus = ddlMaritalStatus.SelectedItem.Text;
            Country = ddlCountry.SelectedItem.Text;
            City = ddlCity.SelectedItem.Text;
            dsSelectSearchFields.Clear();
            dsSelectSearchFields = objProfileDetails.AdvanceSearch(Gender, vReligion, Lang, Caste, Min, Max, MStatus, Country, City);
            ViewState["dsSelectSearchFields"] = dsSelectSearchFields;
        }

        //DataSet dsSelectSearchFields = objProfileDetails.AdvanceSearch(Gender, vReligion, Lang, Caste, Min, Max, MStatus, Country, City);
        DataTable dt = new DataTable();
        dt = dsSelectSearchFields.Tables[0];
        pds.DataSource = dt.DefaultView;
        pds.AllowPaging = true;
        //pds.PageSize = Convert.ToInt32(DropDownList1.SelectedValue);
        pds.PageSize = 6;
        pds.CurrentPageIndex = CurrentPage;
        lnkbtnNext.Enabled = !pds.IsLastPage;
        lnkbtnPrevious.Enabled = !pds.IsFirstPage;
        dlProfileSummary.DataSource = pds;
        dlProfileSummary.DataBind();

        doPaging();
    }

    public int CurrentPage
    {
        get
        {
            if (this.ViewState["CurrentPage"] == null)
            {
                return 0;
            }
            else
            {
                return Convert.ToInt32(this.ViewState["CurrentPage"].ToString());
            }
        }
        set { this.ViewState["CurrentPage"] = value; }
    }

    protected void lnkbtnPrevious_Click(object sender, EventArgs e)
    {
        CurrentPage -= 1;
        BindCurrentDatalist();
    }
    protected void lnkbtnNext_Click(object sender, EventArgs e)
    {
        CurrentPage += 1;
        BindCurrentDatalist();
    }

    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();
    }

    protected void DataList1_ItemCommand(object source, DataListCommandEventArgs e)
    {
        if (e.CommandName.Equals("lnkbtnPaging"))
        {
            CurrentPage = Convert.ToInt16(e.CommandArgument.ToString());
            BindCurrentDatalist();
        }
    }
    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;
        }
    }

No comments:

Post a Comment