Solved

Bind dataset to Checkbox column in asp/net gridview

Posted on 2013-12-09
2
5,495 Views
Last Modified: 2014-01-14
I am binding a asp.net gridview to a dataset in a webform using vb.net.    I am able to populate the grid expect the first column in the grid is a checkbox that I have placed in a template field.   That value that I want to display in the check box column is a true/false value stored as a bit in the SQL Server database.

I have tried all of the examples found here and either none of the check boxes are checked when they should be and no error is returned.

If have tried the following: (isApproved is the column name in the dataset)

.......Checked='<%# DataBinder.Eval(Container.DataItem, "isApproved") %>'/> ... No errors returned but no check boxes checked either

.......Checked='<%#If(Eval("IsApproved").ToString(), True, False)%>' ... No errors returned but no check boxes checked either


in the GridView1_RowDataBound event I tried.... and got the error "Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index "

...If e.Row.RowType = DataControlRowType.DataRow Then
             Dim chk As Boolean = Convert.ToBoolean((Me.GridView1.DataKeys  e.Row.RowIndex).Value.ToString()))
            'Find Check Box Now
            Dim chkBox As CheckBox = DirectCast(e.Row.FindControl("AcctApproved"), CheckBox)
            chkBox.Checked = chk
        End If

Any help would be greatly appreciated
0
Comment
Question by:Mike_Stevens
2 Comments
 
LVL 11

Assisted Solution

by:SAMIR BHOGAYTA
SAMIR BHOGAYTA earned 250 total points
ID: 39707806
hi.. try this example

ASPX:

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">
    <Columns>
        <asp:TemplateField HeaderText="ID">
            <ItemTemplate>
                <asp:Label ID="Label1" runat="server" Text='<%# Eval("id") %>'></asp:Label>
            </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField HeaderText="Staff">
            <ItemTemplate>
                <asp:CheckBox ID="CheckBox1" runat="server" Checked='<%# Eval("staff") %>' />
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" />

Code behind:

protected void Button1_Click(object sender, EventArgs e)
{
    string conStr = @"Data Source=.\SQLEXPRESS;AttachDbFilename=E:\website\w2\App_Data\Database.mdf;Integrated Security=True;User Instance=True";
    SqlConnection con1 = new SqlConnection(conStr);
    con1.Open();
    DataSet ds = new DataSet();
    SqlDataAdapter adapter = new SqlDataAdapter("SELECT id,staff FROM staff_details  ", con1);
    adapter.Fill(ds);
    GridView1.DataSource = ds;
    GridView1.DataBind();
    con1.Close();
}
0
 
LVL 12

Accepted Solution

by:
jitendra patil earned 250 total points
ID: 39711078
you can give a try to the below markup too.
<asp:TemplateField HeaderText="Serial Number" SortExpression="SERIALNUMBER" >
                <ItemTemplate>
                    <asp:CheckBox ID="CheckBox1" runat="server" Checked='<%# iif(Bind("IsApproved")=0,"False","True") %>' />
                </ItemTemplate>
            </asp:TemplateField>

hope this helps.
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Parsing a CSV file is a task that we are confronted with regularly, and although there are a vast number of means to do this, as a newbie, the field can be confusing and the tools can seem complex. A simple solution to parsing a customized CSV fi…
If you need to start windows update installation remotely or as a scheduled task you will find this very helpful.
This is Part 3 in a 3-part series on Experts Exchange to discuss error handling in VBA code written for Excel. Part 1 of this series discussed basic error handling code using VBA. http://www.experts-exchange.com/videos/1478/Excel-Error-Handlin…
Migrating to Microsoft Office 365 is becoming increasingly popular for organizations both large and small. If you have made the leap to Microsoft’s cloud platform, you know that you will need to create a corporate email signature for your Office 365…

863 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

19 Experts available now in Live!

Get 1:1 Help Now