Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

Bind dataset to Checkbox column in asp/net gridview

Posted on 2013-12-09
2
Medium Priority
?
5,935 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 1000 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 13

Accepted Solution

by:
Jitendra Patil earned 1000 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

Vote for the Most Valuable Expert

It’s time to recognize experts that go above and beyond with helpful solutions and engagement on site. Choose from the top experts in the Hall of Fame or on the right rail of your favorite topic page. Look for the blue “Nominate” button on their profile to vote.

Question has a verified solution.

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

Entering time in Microsoft Access can be difficult. An input mask often bothers users more than helping them and won't catch all typing errors. This article shows how to create a textbox for 24-hour time input with full validation politely catching …
Calculating holidays and working days is a function that is often needed yet it is not one found within the Framework. This article presents one approach to building a working-day calculator for use in .NET.
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…
This lesson discusses how to use a Mainform + Subforms in Microsoft Access to find and enter data for payments on orders. The sample data comes from a custom shop that builds and sells movable storage structures that are delivered to your property. …

877 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