Click here to Skip to main content
15,886,919 members
Please Sign up or sign in to vote.
1.00/5 (2 votes)
Hi
I am working on asp gridview and on selecting multiple values from dropdown list using checkboxes I want to get the values in label field separated by comma ...

What I have tried:

C#
protected void dd2_selectedindexchanged(object sender, EventArgs e)
       {
           DropDownList DropDownList1 = sender as DropDownList;
           foreach (GridViewRow row in gvDetails.Rows)
           {
               Control ctrl = row.FindControl("DropDownList2") as DropDownList;
               Control ctr = row.FindControl("Label4") as Label;
               Label Label2 = row.FindControl("Label4") as Label;
               Label2.Text += DropDownList1.SelectedValue + ", ";




           }
       }
Posted
Updated 30-Mar-17 19:21pm
Comments
Bryian Tan 29-Mar-17 10:28am    
Are you using a third party dropdown control?
Member 12605293 29-Mar-17 22:15pm    
Hi Bryian.
It is not third party
Richard Deeming 31-Mar-17 9:44am    
Unless your name is David Stutz, Bootstrap Multiselect[^] is most definitely a third-party component.
[no name] 29-Mar-17 10:29am    
What issue you are facing here..
Member 12605293 29-Mar-17 22:14pm    
Hi vinod
Thanks for your reply.The dropdown is working good I can able to choose multiple options with jquery check box,but while inserting only one value is inserted,amoung the selected value

1 solution

try

<html xmlns="http://www.w3.org/1999/xhtml">
<head>

    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
    <link href="http://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.0.3/css/bootstrap.min.css"
        rel="stylesheet" type="text/css" />
    <script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.0.3/js/bootstrap.min.js"></script>
    <link href="http://cdn.rawgit.com/davidstutz/bootstrap-multiselect/master/dist/css/bootstrap-multiselect.css" rel="stylesheet" type="text/css" />
    <script src="http://cdn.rawgit.com/davidstutz/bootstrap-multiselect/master/dist/js/bootstrap-multiselect.js" type="text/javascript"></script>
    <script type="text/javascript">


        $(function () {
            $('.classDropDownList2').multiselect({
                includeAllOption: true,
                onChange: function (a,b,c) {
                    var val = a.parent().val();
                    var text = '';
                    if (val)
                        text = val.join(',');
                    $(a).closest('tr').find('.classsLabel4').text(text);

                }
            });
        });



    </script>


</head>
<body>
    <form id="form1" runat="server">


        <asp:GridView ID="gv" runat="server" AutoGenerateColumns="false">
            <Columns>
                <asp:TemplateField>
                    <HeaderTemplate>
                        Column1 
                    </HeaderTemplate>
                    <ItemTemplate>
                        <asp:DropDownList CssClass="classDropDownList2" ID="DropDownList2" multiple="multiple" runat="server">
                            <asp:ListItem Text="-select-" Value="" />
                            <asp:ListItem Text="one" Value="1" />
                            <asp:ListItem Text="two" Value="2" />
                            <asp:ListItem Text="three" Value="3" />
                        </asp:DropDownList>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField>
                    <HeaderTemplate>
                        Column2
                    </HeaderTemplate>
                    <ItemTemplate>

                        <asp:Label CssClass="classsLabel4" ID="Label4" runat="server" Text='<%#Eval("Departmentid") %>'></asp:Label>
                    </ItemTemplate>
                </asp:TemplateField>

            </Columns>
        </asp:GridView>


    </form>
</body>
</html>



C#
protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                DataTable dt = GetDataTable();
                gv.DataSource = dt;
                gv.DataBind();
            }
        }
 
Share this answer
 
Comments
Member 12605293 31-Mar-17 2:30am    
Hi Karthik
Thanks for the code karthik. It is not working.Shall I send my snippets??
Karthik_Mahalingam 31-Mar-17 2:35am    
create a new page and run this code

protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
DataTable dt = GetDataTable();
gv.DataSource = dt;
gv.DataBind();
}
}

private static DataTable GetDataTable()
{
DataTable dt = new DataTable();
dt.Columns.Add("Departmentid");
dt.Columns.Add("Column2");
dt.Columns.Add("Column3");
dt.Rows.Add("apple", "ant", "animal");
dt.Rows.Add("bat", "ball", "bull");
dt.Rows.Add("cat", "call", "con");
dt.Rows.Add("dog", "doll", "dice");
return dt;
}
Karthik_Mahalingam 31-Mar-17 3:01am    
use class, dont use id
Member 12605293 31-Mar-17 3:02am    
Hi Karthik
here is my code

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
    <link href="http://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.0.3/css/bootstrap.min.css"
        rel="stylesheet" type="text/css" />
    <script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.0.3/js/bootstrap.min.js"></script>
    <link href="http://cdn.rawgit.com/davidstutz/bootstrap-multiselect/master/dist/css/bootstrap-multiselect.css" rel="stylesheet" type="text/css" />
    <script src="http://cdn.rawgit.com/davidstutz/bootstrap-multiselect/master/dist/js/bootstrap-multiselect.js" type="text/javascript"></script>
    <script type="text/javascript">


        $(function () {
            $('[id*=DropDownList2],[id*=DropDownList3]').multiselect({
                includeAllOption: true,
                onChange: function (a, b, c) {
                    var val = a.parent().val();
                    var text = '';
                    if (val)
                        text = val.join(',');
                    $(a).closest('div').find('.Label4').text(text);

                }
            });
        });
     
</script>   
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <asp:GridView ID="gvDetails" style="background-color:lightgreen;     border-collapse: collapse;
    background-color: lightgreen;
    margin-top: -53px;" DataKeyNames="empid,name" runat="server"
                
                AutoGenerateColumns="false" HeaderStyle-BackColor="#61A6F8"
                ShowFooter="true" HeaderStyle-Font-Bold="true" HeaderStyle-ForeColor="White"
                CellPadding="10" CellSpacing="0"
                AllowPaging="true" PageSize="5"
                AllowSorting="True" OnRowDataBound="gvDetails_OnRowDataBound"
                OnRowCancelingEdit="gvDetails_RowCancelingEdit"
                OnRowDeleting="gvDetails_RowDeleting" OnRowEditing="gvDetails_RowEditing"
                OnRowUpdating="gvDetails_RowUpdating"
                OnRowCommand="gvDetails_RowCommand">

        <Columns >
                    <asp:TemplateField  HeaderText="EmployeeID">
                        <ItemTemplate>
                            <asp:Label ID="lblempid" runat="server" class="clsempid"
                                Text='<%# Eval("empid")%>'></asp:Label>
                        </ItemTemplate>
                        <FooterTemplate>
                            <asp:TextBox ID="txtempid" 
                                MaxLength="5" runat="server"></asp:TextBox>
                            
                        </FooterTemplate>
                    </asp:TemplateField>



                    <asp:TemplateField HeaderText="EmployeeName">
                        <EditItemTemplate>
                            <asp:TextBox ID="txtempname" runat="server"   Text='<%#Eval("name") %>' />
                        </EditItemTemplate>
                        <ItemTemplate>
                            <asp:Label ID="lblempname" runat="server"  Text='<%#Eval("name") %>' />
                        </ItemTemplate>
                        <FooterTemplate>
                            <asp:TextBox ID="txtempname1" runat="server"  AutoPostBack="true"  onkeypress="hidedialog(this)" />
                            
                        </FooterTemplate>
                    </asp:TemplateField>
            <asp:TemplateField HeaderText="Skills">  
                            <EditItemTemplate>  
                                <asp:DropDownList ID="DropDownList2" multiple="multiple" runat="server" >
Karthik_Mahalingam 31-Mar-17 3:11am    
use class, dont use id

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900