Friday, September 27, 2013

Multiple value Select Checkboxlist inside Auto Populate Text Box in Asp.Net 3.5 and C#


.aspx file:

<%@ 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">

<head runat="server">
    <title></title>
    <script type="text/javascript">

        function toggle_visibility()
      {
            document.getElementById('<%=Panel1.ClientID %>').style.display = 'block';
        }
    
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server">
        </asp:ToolkitScriptManager>

        <table>
            <tr>
                <td align="left" valign="top">

                    <asp:UpdatePanel ID="updatepanel1" runat="server">
                        <ContentTemplate>
                            <asp:TextBox ID="TextBox1" runat="server" BackColor="#e8e8ff" Width="300px" >                                           </asp:TextBox>
                            <asp:PopupControlExtender ID="TextBox1_PopupControlExtender" runat="server"  Position="Bottom"
                                TargetControlID="TextBox1" PopupControlID="Panel1">
                            </asp:PopupControlExtender>
                            <asp:Panel ID="Panel1" runat="server" Height="116px" Width="295px" BorderStyle="Solid"
                                BorderWidth="1px"  ScrollBars="Auto" BackColor="#e8e8ff">
                                <asp:CheckBoxList ID="CheckBoxList1" runat="server" AutoPostBack="True" OnSelectedIndexChanged="CheckBoxList1_SelectedIndexChanged">
                                </asp:CheckBoxList>
                            </asp:Panel>

                              <br />                            
                
                        </ContentTemplate>
                    </asp:UpdatePanel>                  

                </td>
            </tr>
        </table>
    </div>
    </form>
</body>
</html>

Default.aspx.cs file:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;

public partial class Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!this.Page.IsPostBack)
        {
            BindData();
        }
    }

    protected void BindData()
    {
        try
        {
            DataTable dt = new DataTable();
            dt.Columns.Add("ID", typeof(string));
            dt.Columns.Add("name", typeof(string));

            for (int i = 1; i <= 10; i++)
            {
                DataRow dr = dt.NewRow();
                dr["ID"] = i.ToString();
                dr["name"] = "mohit" + i.ToString();
                dt.Rows.Add(dr);
            }

            CheckBoxList1.DataSource = dt;
            CheckBoxList1.DataTextField = "name";
            CheckBoxList1.DataValueField = "ID";
            CheckBoxList1.DataBind();
        }
        catch (Exception)
        {
            throw;
        }
    }

    protected void CheckBoxList1_SelectedIndexChanged(object sender, EventArgs e)
    {
        string name = "";

        for (int i = 0; i < CheckBoxList1.Items.Count; i++)
        {
            if (CheckBoxList1.Items[i].Selected)
            {
                name += CheckBoxList1.Items[i].Text + ",";
            }
        }

        TextBox1.Text = name;

        this.TextBox1_PopupControlExtender.Commit(this.TextBox1.Text);
    }
   
}

No comments:

Post a Comment