Datagrid中的复选框 [英] Checkbox in Datagrid

查看:63
本文介绍了Datagrid中的复选框的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在这里有一点问题...所以我有一个datagrid ..并且通过将查询传递给数据库将值检索到此数据网格中。我在datagrid中有一个标题复选框来选择或取消选择所有行使用javascript ..并为每一行有一个复选框来检查单个行..现在我想要做的是..当我检查特定行的复选框并点击提交..所选行必须是隐形的..我怎么用C#做这个。请帮帮我...下面是ASP.NET代码







I have a slight problem here...so I have a datagrid..and the values are retrieved into this datagrid by passing a query to the database.I have a header checkbox in the datagrid to select or deselect all the rows using javascript..and for each row there is a checkbox to check the indiviual row..Now what i want to do is..when i check the checkbox of the particular row and hit submit..the selected row must be invisible..how do i do this using C#.Please help me...Below is the ASP.NET code



script type="text/javascript" language="javascript">
       function select_deselectAll(chkVal, idVal, AllName, ThisName) {
           var frm = document.forms[0];
           // Loop through all elements
           for (i = 0; i < frm.length; i++) {

               if (idVal.indexOf(AllName) != -1) {

                   if (chkVal == true) {
                       if (frm.elements[i].id.indexOf(ThisName) != -1) {
                           frm.elements[i].checked = true;

                       }
                   }
                   else {
                       if (frm.elements[i].type == "checkbox") {
                           if (frm.elements[i].id.indexOf(ThisName) != -1) {
                               frm.elements[i].checked = false;
                           }
                       }
                   }

               }
               else if (idVal.indexOf(ThisName) != -1) {

                   if (frm.elements[i].type == "checkbox") {
                       if (frm.elements[i].id.indexOf(AllName) != -1) {
                           frm.elements[i].checked = false; break;
                       }
                   }
               }
           }
       }

   </script>













<asp:DataGrid ID="dgEmpLeaveDetails" runat="server" DataKeyField="reqID"
                       AutoGenerateColumns="False" CssClass="vutblrow" BorderWidth="1px" PagerStyle-Mode="NumericPages"
                       Width="100%" TabIndex="6" AllowSorting="false" Visible="True">
                       <pagerstyle cssclass="pgr" mode="NumericPages" height="25px" borderstyle="Solid" />
                       <alternatingitemstyle cssclass="vutblaltrow" />
                       <HeaderStyle CssClass="vutblhdr" />
                       <itemstyle cssclass="vutblitemrow" />
                       <columns>
                           <asp:TemplateColumn>
                               <HeaderStyle HorizontalAlign="Center" />
                               <HeaderTemplate>
                                   <asp:CheckBox ID="chkView" runat="server" Text="" onclick="javascript:select_deselectAll (this.checked, this.id, 'chkView', 'cbSelect');" />
                               </HeaderTemplate>
                               <itemstyle horizontalalign="Center" />
                               <itemtemplate>
                                   <asp:CheckBox ID="cbSelect" runat="server" onclick="javascript:select_deselectAll (this.checked, this.id, 'chkView', 'cbSelect');" />
                               </itemtemplate>

                           <asp:TemplateColumn HeaderText="Sl No" ItemStyle-CssClass="ing-padding_Right" HeaderStyle-BorderColor="#718bad"
                               SortExpression="SLNum">
                               <itemtemplate>
                                   <asp:Label ID="lblSLnum" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "SLNum") %>'>
                               </itemtemplate>



                           <asp:TemplateColumn HeaderText="Employee Name" ItemStyle-CssClass="ing-padding_Right"
                               HeaderStyle-BorderColor="#718bad" SortExpression="EmpName">
                               <itemtemplate>
                                   <asp:Label ID="lblEmpName" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "empName") %>'>
                               </itemtemplate>

                           <asp:TemplateColumn HeaderText="Designation" ItemStyle-CssClass="ing-padding_Right"
                               HeaderStyle-BorderColor="#718bad" SortExpression="Designation">
                               <itemtemplate>
                                   <asp:Label ID="lbldesign" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "DesigShort") %>'>
                               </itemtemplate>

                           <asp:TemplateColumn HeaderText="Date of Move" ItemStyle-CssClass="ing-padding_Right" HeaderStyle-BorderColor="#718bad"
                               SortExpression="Date of Move">
                               <itemtemplate>
                                  <asp:Label ID="lblmovedate" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "moveDate","{0:dd/MM/yyyy}") %>'>
                               </itemtemplate>

                            <asp:TemplateColumn HeaderText="Establishment to be Visited" ItemStyle-CssClass="ing-padding_Right" HeaderStyle-BorderColor="#718bad">
                               <itemtemplate>
                                  <asp:Label ID="lblestvisited" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "esttVisited") %>'>
                               </itemtemplate>

                             <asp:TemplateColumn HeaderText="Purpose of Move" ItemStyle-CssClass="ing-padding_Right" HeaderStyle-BorderColor="#718bad">
                               <itemtemplate>
                                  <asp:Label ID="lblpurposemove" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "purpose") %>'>
                               </itemtemplate>

                                  <asp:TemplateColumn HeaderText="reqID" ItemStyle-CssClass="ing-padding_Right"
                               HeaderStyle-BorderColor="#718bad" SortExpression="IsActive" Visible="false">
                               <itemtemplate>
                                   <asp:Label ID="lblreqid" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "reqID") %>'>
                               </itemtemplate>


                           <asp:TemplateColumn HeaderText="Is Active" ItemStyle-CssClass="ing-padding_Right"
                               HeaderStyle-BorderColor="#718bad" SortExpression="IsActive" Visible="false">
                               <itemtemplate>
                                   <asp:Label ID="lblIsActive" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "IsActive") %>'>
                               </itemtemplate>

                       </columns>

推荐答案

使所选DataGrid的行可见= false。



您可以在提交按钮点击活动中尝试以下代码。





To make the selected DataGrid's rows visible = false.

You can try the following code in your Submit Button click event.


foreach (DataGridItem itm in YourDataGrid.Items)
      {
          CheckBox cb = (CheckBox)itm.FindControl("yourchildcheckboxID");
          if (cb.Checked)
          {
              itm.Visible = false;
          }
      }





请记住,DataGrid将行作为Items来娱乐,而GridView则将它们视为行。





希望它会有所帮助。 :)



Please Keep in mind that DataGrid's entertain the rows as Items, while GridView entertain them as Rows.


Hope it will help. :)


我没有得到你的代码...

但是我觉得如果我有你的问题...

这是一个例子......



I didn't get your code...
but i think if i got your question...
Here is an Example...

<script type="text/javascript">
        function CheckAll(obj) {
            var list = document.getElementById("<%=DataGrid1.ClientID%>");
            var chklist = list.getElementsByTagName("input");
            for (var i = 0; i < chklist.length; i++) {

                if (chklist[i].type == "checkbox" && chklist[i] != obj) {

                    chklist[i].checked = obj.checked;

                }

            }

        }

</script>





用于页眉模板





For Header Template

<HeaderTemplate>
<asp:checkbox id="CheckBox1" onclick="CheckAll(this);" runat="server" xmlns:asp="#unknown" />
</HeaderTemplate>





for item Template





for Item Template

<itemtemplate>
<asp:checkbox id="CheckBox2" runat="server" xmlns:asp="#unknown" />
</itemtemplate>





提交按钮检查 - 如果选中该行的复选框,则执行操作



on Submit Button Check - if checkbox of that row is checked then perform your action


这篇关于Datagrid中的复选框的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆