Thursday 13 September 2012

Selecting / Deselecting all the CheckBoxes Inside a GridView

Use this javascript function in gridview for select and deselect checkbox

function chkType(chk, grd) {
    var mainChk;

    // alert (grd);
    //   alert(document.getElementById("ctl00_ContentPlaceHolder1_"+grd+"_ctl01_"+chk));

    if (document.getElementById("ctl00_ContentPlaceHolder1_" + grd + "_ctl01_" + chk) == null) {
        mainChk = document.getElementById("ctl00_ContentPlaceHolder1_" + grd + "_ctl02_" + chk);
    }
    else {
        mainChk = document.getElementById("ctl00_ContentPlaceHolder1_" + grd + "_ctl01_" + chk);

    }
    //if(document.getElementById("ctl00_ContentPlaceHolder1_"+grd+"_ctl01_"+chk).checked==true)
    if (mainChk.checked == true) {

        SelectAll(grd);
    }
    else {
        Deselect(grd);
        //             var id=document.getElementById("ctl00_ContentPlaceHolder1_GrdAccountType_ctl01_chkAll");
        //             id.checked = false;
    }

}


function SelectAll(Grd) {
    var i;

    var count = document.getElementById("ctl00_ContentPlaceHolder1_" + Grd).rows.length;


    for (i = 2; i <= count; i++) {
        if (i < 10) { var id = "ctl00_ContentPlaceHolder1_" + Grd + "_ctl0" + i + "_ChkSelect"; }
        else { var id = "ctl00_ContentPlaceHolder1_" + Grd + "_ctl" + i + "_ChkSelect"; }
        var elem = document.getElementById(id);
        try {
            elem.checked = true;
            ;
        }
        catch (err) { }
    }
    var mainChk;
    if (document.getElementById("ctl00_ContentPlaceHolder1_" + Grd + "_ctl01_chkAll") == null) {
        mainChk = document.getElementById("ctl00_ContentPlaceHolder1_" + Grd + "_ctl02_chkAll");
    }
    else {
        mainChk = document.getElementById("ctl00_ContentPlaceHolder1_" + Grd + "_ctl01_chkAll");
    }
    mainChk.checked = true;

}

function Deselect(Grd) {

    var i;
    var count = document.getElementById("ctl00_ContentPlaceHolder1_" + Grd).rows.length;
    for (i = 2; i <= count; i++) {
        if (i < 10) {
            var id = "ctl00_ContentPlaceHolder1_" + Grd + "_ctl0" + i + "_ChkSelect";

        }
        else {
            var id = "ctl00_ContentPlaceHolder1_" + Grd + "_ctl" + i + "_ChkSelect";
        }
        try {
            var elem = document.getElementById(id);
            elem.checked = false;
        }
        catch (err) {

        }

    }

    var mainChk;
    if (document.getElementById("ctl00_ContentPlaceHolder1_" + Grd + "_ctl01_chkAll") == null) {
        mainChk = document.getElementById("ctl00_ContentPlaceHolder1_" + Grd + "_ctl02_chkAll");
    }
    else {
        mainChk = document.getElementById("ctl00_ContentPlaceHolder1_" + Grd + "_ctl01_chkAll");
    }
    //if(document.getElementById("ctl00_ContentPlaceHolder1_"+grd+"_ctl01_"+chk).checked==true)
    mainChk.checked = false;
}

Maintaining State of CheckBoxes While Paging in a GridView Control

 Here I User server side events for maintain checkbox state.


protected void gvdetails_PageIndexChanging(object sender, GridViewPageEventArgs e)

{

SaveCheckedValues();

gvdetails.PageIndex = e.NewPageIndex;

BindGridData();

PopulateCheckedValues();

}

//This method is used to populate the saved checkbox values

private void PopulateCheckedValues()

{

ArrayList userdetails = (ArrayList)Session["CHECKED_ITEMS"];

if (userdetails != null && userdetails.Count > 0)

{

foreach (GridViewRow gvrow in gvdetails.Rows)

{

int index = (int)gvdetails.DataKeys[gvrow.RowIndex].Value;

if (userdetails.Contains(index))

{

CheckBox myCheckBox = (CheckBox)gvrow.FindControl("chkSelect");

myCheckBox.Checked = true;

}

}

}

}

//This method is used to save the checkedstate of values

private void SaveCheckedValues()

{

ArrayList userdetails = new ArrayList();

int index = -1;

foreach (GridViewRow gvrow in gvdetails.Rows)

{

index = (int)gvdetails.DataKeys[gvrow.RowIndex].Value;

bool result = ((CheckBox)gvrow.FindControl("chkSelect")).Checked;

// Check in the Session

if (Session["CHECKED_ITEMS"] != null)

userdetails = (ArrayList)Session["CHECKED_ITEMS"];

if (result)

{

if (!userdetails.Contains(index))

userdetails.Add(index);

}

else

userdetails.Remove(index);

}

if (userdetails != null && userdetails.Count > 0)

Session["CHECKED_ITEMS"] = userdetails;

}

Email Validation in jquery

Method :1
  string MatchEmailPattern =
   @"^(([\w-]+\.)+[\w-]+|([a-zA-Z]{1}|[\w-]{2,}))@"
     + @"((([0-1]?[0-9]{1,2}|25[0-5]|2[0-4][0-9])\.([0-1]?
    [0-9]{1,2}|25[0-5]|2[0-4][0-9])\."
     + @"([0-1]?[0-9]{1,2}|25[0-5]|2[0-4][0-9])\.([0-1]?
    [0-9]{1,2}|25[0-5]|2[0-4][0-9])){1}|"
     + @"([a-zA-Z]+[\w-]+\.)+[a-zA-Z]{2,4})$";

  public static bool IsEmail(string email)
  {
     if (email != null) return Regex.IsMatch(email, MatchEmailPattern);
     else return false;
  }


Client Side:

 var emailPat = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
                    var matchArray = EmailId.match(emailPat);
                    if (matchArray == null) {
                        $("#txtEmail").css("border", "1px solid Red");
                        $("#txtEmail").val('Invalid Email Address');
                        $("#txtEmail").focus();
                        return false;
                    }



Method :2


function validateEmail(sEmail) {
    var reEmail = /^(?:[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+\.)*[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+@(?:(?:(?:[a-zA-Z0-9](?:[a-zA-Z0-9\-](?!\.)){0,61}[a-zA-Z0-9]?\.)+[a-zA-Z0-9](?:[a-zA-Z0-9\-](?!$)){0,61}[a-zA-Z0-9]?)|(?:\[(?:(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\.){3}(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\]))$/;

    if (!sEmail.match(reEmail)) {
        return false;
    }

    return true;

}