Search code examples
c#asp.netgridviewchecklistbox

return checkboxlist multiple values in gridview [asp.net]


I'm new to asp.net. I have a checkboxlist1 connected with one column [PBN] in a table which has only two values, Yes and No. And I need to return the data in a gridview. Even if I select both Yes and No in the checkboxlist, it only returns No value. How can I return both values? Hope I made this clear. Databound

<asp:CheckBoxList ID="CheckBoxList1" runat="server" DataSourceID="SqlDataSource4" DataTextField="PBN" DataValueField="PBN" OnSelectedIndexChanged="CheckBoxList1_SelectedIndexChanged">
    </asp:CheckBoxList>

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

namespace WebApplication7
{
    public partial class About : Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
        {

        }

        protected void DropDownList2_SelectedIndexChanged(object sender, EventArgs e)
        {

        }

        protected void Button1_Click(object sender, EventArgs e)
        {
            GridView1.Visible = true;
        }

        protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
        {

        }

        protected void CheckBoxList1_SelectedIndexChanged(object sender, EventArgs e)
        {

        }
    }
}

Solution

  • you need to set the checked/selected property

        <asp:CheckBoxList ID="CheckBoxList1" runat="server" DataSourceID="SqlDataSource4" DataTextField="PBN" DataValueField="PBN" OnSelectedIndexChanged="CheckBoxList1_SelectedIndexChanged">
    
            <asp:ListItem Selected='<%# Eval("PBN") == "Yes"? true : false %>'>Yes</asp:ListItem>
                <asp:ListItem Selected='<%#Eval("PBN") == "No" ? true : false %>'>No</asp:ListItem>
    
    </asp:CheckBoxList>