AJAX CALENDAR FOR TEXTBOX IN GRIDVIEW

pramod niralakeri

Total Post:1

Points:7
Posted by  pramod niralakeri
C# 
 1171  View(s)
Ratings:
Rate this:
i need solution for... AJAX calendar for Textbox in dynamic datagridView where any number of textboxes can be created... but i need AJAX calendar with validation like date should be within 5 from the today's date
and unique date in each textbox i mean no date should clash with textbox with any other
  1. Pawan Shukla

    Post:36

    Points:260
    Re: ajax calendar for textbox in gridview

    you can try this code

    Default.aspx

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
     
    <%@ Register assembly="AjaxControlToolkit" namespace="AjaxControlToolkit" tagprefix="asp" %>
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <asp:ScriptManager ID="ScriptManager1" runat="server">
            </asp:ScriptManager>
            <br />
            <br />
            <table width="800px" align="center">
                <tr>
                    <td colspan="2" align="center">
                        <b>Employee Details</b>
                    </td>
                </tr>
                <tr>
                    <td colspan="2">
                        <asp:GridView ID="gvEmployeeDetails" runat="server" Width="100%" AutoGenerateColumns="false"
                            ShowFooter="true" OnRowCommand="gvEmployeeDetails_RowCommand" OnRowDeleting="gvEmployeeDetails_RowDeleting"
                            OnRowUpdating="gvEmployeeDetails_RowUpdating" OnRowCancelingEdit="gvEmployeeDetails_RowCancelingEdit"
                            OnRowEditing="gvEmployeeDetails_RowEditing">
                            <Columns>
                                <asp:TemplateField HeaderText="Employee ID">
                                    <ItemTemplate>
                                        <asp:Label ID="lblEmpID" runat="server" Text='<%#DataBinder.Eval(Container.DataItem, "id") %>'></asp:Label>
                                    </ItemTemplate>
                                    <EditItemTemplate>
                                        <asp:Label ID="lblEditEmpID" runat="server" Text='<%#DataBinder.Eval(Container.DataItem, "id") %>'></asp:Label>
                                    </EditItemTemplate>
                                    <FooterTemplate>
                                        <asp:TextBox ID="txtAddEmpID" runat="server"></asp:TextBox>
                                    </FooterTemplate>
                                </asp:TemplateField>
                                <asp:TemplateField HeaderText="Name">
                                    <ItemTemplate>
                                        <asp:Label ID="lblName" runat="server" Text='<%#DataBinder.Eval(Container.DataItem, "name") %>'></asp:Label>
                                    </ItemTemplate>
                                    <EditItemTemplate>
                                        <asp:TextBox ID="txtEditName" runat="server" Text='<%#DataBinder.Eval(Container.DataItem, "name") %>'></asp:TextBox>
                                    </EditItemTemplate>
                                    <FooterTemplate>
                                        <asp:TextBox ID="txtAddName" runat="server"></asp:TextBox>
                                    </FooterTemplate>
                                </asp:TemplateField>
                                <asp:TemplateField HeaderText="City">
                                    <ItemTemplate>
                                        <asp:Label ID="lblCity" runat="server" Text='<%#DataBinder.Eval(Container.DataItem, "city") %>'></asp:Label>
                                    </ItemTemplate>
                                    <EditItemTemplate>
                                        <asp:TextBox ID="txtEditCity" runat="server" Text='<%#DataBinder.Eval(Container.DataItem, "city") %>'></asp:TextBox>
                                    </EditItemTemplate>
                                    <FooterTemplate>
                                        <asp:TextBox ID="txtAddCity" runat="server"></asp:TextBox>
                                    </FooterTemplate>
                                </asp:TemplateField>
                                <asp:TemplateField HeaderText="Date of Joining">
                                    <ItemTemplate>
                                        <asp:Label ID="lblCountry" runat="server" Text='<%#DataBinder.Eval(Container.DataItem, "City") %>'></asp:Label>
                                    </ItemTemplate>
                                    <EditItemTemplate>
                                        <asp:TextBox ID="txtEditCountry" runat="server" Text='<%#DataBinder.Eval(Container.DataItem, "City") %>'></asp:TextBox>
                                        <asp:CalendarExtender ID="CalendarExtender1" runat="server" TargetControlID="txtEditCountry"
                                                              PopupButtonID="txtEditCountry" Format="dd/MM/yyyy">
                                        </asp:CalendarExtender>
                                    </EditItemTemplate>
                                    <FooterTemplate>
                                        <asp:TextBox ID="txtAddCountry" runat="server"></asp:TextBox>
                                         <asp:CalendarExtender ID="CalendarExtender2" runat="server" TargetControlID="txtAddCountry"
                                                               PopupButtonID="txtAddCountry" Format="dd/MM/yyyy">
                                        </asp:CalendarExtender>
                                    </FooterTemplate>
                                </asp:TemplateField>
                                <asp:TemplateField HeaderText="Action">
                                    <ItemTemplate>
                                        <asp:ImageButton ID="imgbtnEdit" runat="server" CommandName="Edit" ImageUrl="~/Images/icon-edit.png"
                                            Height="32px" Width="32px" />
                                        <asp:ImageButton ID="imgbtnDelete" runat="server" CommandName="Delete" ImageUrl="~/Images/Delete.png" />
                                    </ItemTemplate>
                                    <EditItemTemplate>
                                        <asp:ImageButton ID="imgbtnUpdate" runat="server" CommandName="Update" ImageUrl="~/Images/icon-update.png" />
                                        <asp:ImageButton ID="imgbtnCancel" runat="server" CommandName="Cancel" ImageUrl="~/Images/icon-Cancel.png" />
                                    </EditItemTemplate>
                                    <FooterTemplate>
                                        <asp:LinkButton ID="lbtnAdd" runat="server" CommandName="ADD" Text="Add" Width="100px"></asp:LinkButton>
                                    </FooterTemplate>
                                </asp:TemplateField>
                            </Columns>
                        </asp:GridView>
                    </td>
                </tr>
                <tr>
                    <td colspan="2" style="background-image: url(Images/header.jpg); height: 30px">
                    </td>
                </tr>
            </table>
        </div>
        </form>
    </body>
    </html>

    default.aspx.cs

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Xml;
    using System.Data;
    using System.Data.SqlClient;
     
    public partial class _Default : System.Web.UI.Page
    {
     
        SqlConnection conn = new SqlConnection("Data Source=local;Initial Catalog=MyDB;user id=sa;password=xyz;MultipleActiveResultSets=True;");
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                BindData();
            }
        }
     
        protected void BindData()
        {
            DataSet ds = new DataSet();
            DataTable FromTable = new DataTable();
            conn.Open();
            string cmdstr = "Select * from Employee";
            SqlCommand cmd = new SqlCommand(cmdstr, conn);
            SqlDataAdapter adp = new SqlDataAdapter(cmd);
            adp.Fill(ds);
            cmd.ExecuteNonQuery();
            FromTable = ds.Tables[0];
            if (FromTable.Rows.Count > 0)
            {
                gvEmployeeDetails.DataSource = FromTable;
                gvEmployeeDetails.DataBind();
            }
            else
            {
                FromTable.Rows.Add(FromTable.NewRow());
                gvEmployeeDetails.DataSource = FromTable;
                gvEmployeeDetails.DataBind();
                int TotalColumns = gvEmployeeDetails.Rows[0].Cells.Count;
                gvEmployeeDetails.Rows[0].Cells.Clear();
                gvEmployeeDetails.Rows[0].Cells.Add(new TableCell());
                gvEmployeeDetails.Rows[0].Cells[0].ColumnSpan = TotalColumns;
                gvEmployeeDetails.Rows[0].Cells[0].Text = "No records Found";
            }
            ds.Dispose();
            conn.Close();
        }
     
        protected void gvEmployeeDetails_RowDeleting(object sender, GridViewDeleteEventArgs e)
        {
            Label lblEmpID = (Label)gvEmployeeDetails.Rows[e.RowIndex].FindControl("lblEmpID");
     
            conn.Open();
            string cmdstr = "delete from Employee where id=@empid";
            SqlCommand cmd = new SqlCommand(cmdstr, conn);
            cmd.Parameters.AddWithValue("@empid", lblEmpID.Text);
            cmd.ExecuteNonQuery();
            conn.Close();
            BindData();
     
        }
        protected void gvEmployeeDetails_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (e.CommandName.Equals("ADD"))
            {
                TextBox txtAddEmpID = (TextBox)gvEmployeeDetails.FooterRow.FindControl("txtAddEmpID");
                TextBox txtAddName = (TextBox)gvEmployeeDetails.FooterRow.FindControl("txtAddName");
                TextBox txtAddDesignation = (TextBox)gvEmployeeDetails.FooterRow.FindControl("txtAddDesignation");
                TextBox txtAddCity = (TextBox)gvEmployeeDetails.FooterRow.FindControl("txtAddCity");
                TextBox txtAddCountry = (TextBox)gvEmployeeDetails.FooterRow.FindControl("txtAddCountry");
     
                conn.Open();
                string cmdstr = "insert into Employee(empid,name,designation,city,dateofjoin) values(@empid,@name,@designation,@city,@dateofjoin)";
                SqlCommand cmd = new SqlCommand(cmdstr, conn);
                cmd.Parameters.AddWithValue("@empid", txtAddEmpID.Text);
                cmd.Parameters.AddWithValue("@name", txtAddName.Text);
                cmd.Parameters.AddWithValue("@designation", txtAddDesignation.Text);
                cmd.Parameters.AddWithValue("@city", txtAddCity.Text);
                cmd.Parameters.AddWithValue("@dateofjoin", txtAddCountry.Text);
                cmd.ExecuteNonQuery();
                conn.Close();
                BindData();
            }
        }
        protected void gvEmployeeDetails_RowUpdating(object sender, GridViewUpdateEventArgs e)
        {
            Label lblEditEmpID = (Label)gvEmployeeDetails.Rows[e.RowIndex].FindControl("lblEditEmpID");
            TextBox txtEditName = (TextBox)gvEmployeeDetails.Rows[e.RowIndex].FindControl("txtEditName");
            TextBox txtEditDesignation = (TextBox)gvEmployeeDetails.Rows[e.RowIndex].FindControl("txtEditDesignation");
            TextBox txtEditCity = (TextBox)gvEmployeeDetails.Rows[e.RowIndex].FindControl("txtEditCity");
            TextBox txtEditCountry = (TextBox)gvEmployeeDetails.Rows[e.RowIndex].FindControl("txtEditCountry");
     
            conn.Open();
            string cmdstr = "update Employee set name=@name,designation=@designation,city=@city,dateofjoin=@dateofjoin where empid=@empid";
            SqlCommand cmd = new SqlCommand(cmdstr, conn);
            cmd.Parameters.AddWithValue("@empid",lblEditEmpID.Text);
            cmd.Parameters.AddWithValue("@name",txtEditName.Text);
            cmd.Parameters.AddWithValue("@designation",txtEditDesignation.Text);
            cmd.Parameters.AddWithValue("@city",txtEditCity.Text);
            cmd.Parameters.AddWithValue("@dateofjoin",txtEditCountry.Text);
            cmd.ExecuteNonQuery();
            conn.Close();
     
            gvEmployeeDetails.EditIndex = -1;
            BindData();
     
        }
        protected void gvEmployeeDetails_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
        {
            gvEmployeeDetails.EditIndex = -1;
            BindData();
        }
        protected void gvEmployeeDetails_RowEditing(object sender, GridViewEditEventArgs e)
        {
            gvEmployeeDetails.EditIndex =e.NewEditIndex;
            BindData();
        }
    }

    Output:

      Modified On Apr-09-2018 02:02:59 AM

Answer

NEWSLETTER

Enter your email address here always to be updated. We promise not to spam!