Click here to Skip to main content
15,915,775 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
how to place check box in gridview and and c# code event for this one......
Posted

Hi ,
Try this example will Guide you .

ASP.NET
<div>
            <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
         DataKeyNames="id" DataSourceID="SqlDataSource1"
         onrowdeleting="GridView1_RowDeleting"
         onselectedindexchanging="GridView1_SelectedIndexChanging">
         <Columns>
             <asp:BoundField DataField="id" HeaderText="id" InsertVisible="False"
                 ReadOnly="True" SortExpression="id" />
             <asp:BoundField DataField="cate" HeaderText="cate" SortExpression="cate" />
             <asp:TemplateField>
                 <ItemTemplate>
                     <asp:CheckBox ID="CheckBox2" runat="server"
                         oncheckedchanged="CheckBox2_CheckedChanged" />
                 </ItemTemplate>
             </asp:TemplateField>
         </Columns>
     </asp:GridView>
     <asp:SqlDataSource ID="SqlDataSource1" runat="server"
         ConnectionString="<%$ ConnectionStrings:testConnectionString %>"
         SelectCommand="SELECT * FROM [cate]"></asp:SqlDataSource>
            <br />
            <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" />
 </div>


C#
protected void CheckBox2_CheckedChanged(object sender, EventArgs e)
{
    if (((CheckBox)sender).Checked == true )
    {
       //Do Somthing
    }
    else if (((CheckBox)sender).Checked == false)
    {
      //do something else
    }
}
protected void Button1_Click(object sender, EventArgs e)
{
    foreach (GridViewRow row  in GridView1.Rows)
    {
        if ((CheckBox)row.FindControl("CheckBox2") is CheckBox)
        {
            if (((CheckBox)row.FindControl("CheckBox2")).Checked == true)
            {
                //Do Somthing
            }
            else if (((CheckBox)row.FindControl("CheckBox2")).Checked == false)
            {
                //do something else
            }
        }
    }
}



Best Regards
M.Mitwalli
 
Share this answer
 
XML
<asp:GridView ID="GridView1" runat="server" BorderStyle="Double"
            ForeColor="#CC0000" CssClass= "grid" >

            <Columns>
<asp:TemplateField >
<HeaderTemplate>
    <asp:CheckBox ID="CheckBox1" Text = "select All" AutoPostBack="true"
    oncheckedchanged="CheckBox1_CheckedChanged"
     runat="server" />
</HeaderTemplate>
<ItemTemplate>

<asp:CheckBox ID="Check_select" Text = "select" runat="server"/>
</ItemTemplate>

<ItemStyle HorizontalAlign="Center"></ItemStyle>
</asp:TemplateField>
</Columns>
        </asp:GridView>
 
Share this answer
 
see below code it may help you

XML
<asp:GridView ID="GridView2" runat="server" AutoGenerateColumns="False"
            AllowPaging="True" PageSize="2" >

      <Columns>

    <%--  <asp:TemplateField HeaderText="Click">
                    <ItemTemplate>
                        <asp:Button runat ="server" ID="btn" Text ="click" OnClick ="btn_click" />
                    </ItemTemplate>
                    </asp:TemplateField> --%>

                <asp:TemplateField HeaderText="Name" HeaderStyle-Font-Size ="Medium" HeaderStyle-Width ="150px" HeaderStyle-Font-Names ="Microsoft Sans Serif" >

                    <ItemTemplate>
                     <div style ="width :150px;font-size :medium ;font-family :Microsoft Sans Serif  ">
                        <asp:Label ID="lblID" runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"Name") %>'></asp:Label>
                  </div>
                    </ItemTemplate>
                   <EditItemTemplate>
                    <div style ="width :150px;font-size :medium ;font-family :Microsoft Sans Serif  ">
                   <asp:TextBox runat ="server" ID="txtname" Text ='<%#DataBinder.Eval(Container.DataItem,"Name") %>'></asp:TextBox>
                   </div>
                   </EditItemTemplate>

<HeaderStyle Font-Names="Microsoft Sans Serif" Font-Size="Medium" Width="170px"></HeaderStyle>

                </asp:TemplateField>

                <asp:TemplateField HeaderText="Mobile" HeaderStyle-Font-Size ="Medium" HeaderStyle-Width ="150px" HeaderStyle-Font-Names ="Microsoft Sans Serif">
                    <ItemTemplate>
                         <div style ="width :150px;font-size :medium ;font-family :Microsoft Sans Serif  ">
                        <asp:Label ID="lblEmail" runat="server"  Text='<%# DataBinder.Eval(Container.DataItem,"MobileNumber") %>'></asp:Label>
                        </div>
                    </ItemTemplate>
                    <EditItemTemplate >
                     <div style ="width :150px;font-size :medium ;font-family :Microsoft Sans Serif  ">
                   <asp:TextBox runat ="server" ID="txtmob" Text ='<%#DataBinder.Eval(Container.DataItem,"MobileNumber") %>'></asp:TextBox>
                   </div>
                   </EditItemTemplate>

<HeaderStyle Font-Names="Microsoft Sans Serif" Font-Size="Medium" Width="170px"></HeaderStyle>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="Address" HeaderStyle-Font-Size ="Medium" HeaderStyle-Width ="170px" HeaderStyle-Font-Names ="Microsoft Sans Serif">
                    <ItemTemplate>
                     <div style ="width :150px;font-size :medium ;font-family :Microsoft Sans Serif  ">
                        <asp:Label ID="lbladdr" runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"Address") %>'></asp:Label>
                        </div>
                    </ItemTemplate>
                     <EditItemTemplate >
                      <div style ="width :150px;font-size :medium ;font-family :Microsoft Sans Serif  ">
                   <asp:TextBox runat ="server" ID="txtaddr" Text ='<%# Bind(Container.DataItem,"Address") %>'></asp:TextBox>
                   </div>
                   </EditItemTemplate>

<HeaderStyle Font-Names="Microsoft Sans Serif" Font-Size="Medium" Width="170px"></HeaderStyle>
                </asp:TemplateField>
                <asp:TemplateField >
                <ItemTemplate >
                <asp:CheckBox runat ="server" ID="chk1" OnCheckedChanged ="chk1_checked" AutoPostBack ="true" />
                </ItemTemplate>

                </asp:TemplateField>
            <asp:CommandField ButtonType="Button" HeaderText="Edit"
              ControlStyle-Font-Size ="Medium" ControlStyle-Width ="70px" ControlStyle-Font-Names ="Microsoft Sans Serif"
              ShowEditButton="True" >
<ControlStyle Font-Names="Microsoft Sans Serif" Font-Size="Medium" Width="70px"></ControlStyle>
          </asp:CommandField>
          <asp:CommandField ButtonType="Button" HeaderText="Delete"
              ControlStyle-Font-Size ="Medium" ControlStyle-Width ="70px" ControlStyle-Font-Names ="Microsoft Sans Serif"
              ShowDeleteButton="True" >

<ControlStyle Font-Names="Microsoft Sans Serif" Font-Size="Medium" Width="70px"></ControlStyle>
          </asp:CommandField>

            </Columns>
        </asp:GridView>



code behind :

VB
#Region "grid events"
 
    Protected Sub GridView2_RowEditing(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewEditEventArgs) Handles GridView2.RowEditing
        'here assign editindex to new edit index
        GridView2.EditIndex = e.NewEditIndex()
        BindGrid()
    End Sub

    Protected Sub GridView2_RowDeleted(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewDeletedEventArgs) Handles GridView2.RowDeleted

        BindGrid() ' after deleting bind the gridview

    End Sub

    Protected Sub GridView2_RowDeleting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewDeleteEventArgs) Handles GridView2.RowDeleting
        ''write quary here based on primary key value like id
        ''ex: delete from a where id=convert.toint32(gridview2.rows(e.rowindex).cell(1).text)
        'BindGrid()

    End Sub

    Protected Sub GridView2_RowUpdating(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewUpdateEventArgs) Handles GridView2.RowUpdating
        'finding tetxbox control
        Dim tt As TextBox = CType(GridView2.Rows(e.RowIndex).FindControl("txtname"), TextBox)
        'here we have to write update quary insted of that i wrote response .write for understanding purpose
        Response.Write(tt.Text)
        GridView2.EditIndex = -1
        BindGrid()


    End Sub

    Protected Sub GridView2_RowCancelingEdit(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCancelEditEventArgs) Handles GridView2.RowCancelingEdit
        GridView2.EditIndex = -1
        BindGrid()
    End Sub


    Protected Sub GridView2_PageIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles GridView2.PageIndexChanged
        BindGrid()
    End Sub

    Protected Sub GridView2_PageIndexChanging(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewPageEventArgs) Handles GridView2.PageIndexChanging
        'here the page index is assigned
        GridView2.PageIndex = e.NewPageIndex
        'here we have to bind gridview
        GridView2.DataBind()

    End Sub

    Protected Sub GridView2_RowCommand(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs) Handles GridView2.RowCommand
        'If e.CommandName = "Edit" Then
        '    Dim i As Integer = e.CommandArgument
        '    Dim row As GridViewRow = GridView2.Rows(i)

        '    '            Dim ch As CheckBox
        '    ch = DirectCast(row.FindControl("chk1"), CheckBox)
        '    If ch.Checked = True Then
        '        Response.Write("checked checkbox: &nbsp;" + Convert.ToString(row.RowIndex))
        '    Else
        '        Response.Write(" Not checked checkbox")
        '    End If

        'End If
    End Sub
#End Region
 
Share this answer
 

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