GridView 用 checkbox 全选并取值
生活随笔
收集整理的這篇文章主要介紹了
GridView 用 checkbox 全选并取值
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
方法一,用 js 實現 <script type="text/javascript">//<![CDATA[
function CheckAll(oCheckbox){var GridView1 = document.getElementById("<%=GridView1.ClientID %>");for(i = 1;i < GridView1.rows.length-1; i++){GridView1.rows[i].cells[0].getElementsByTagName("INPUT")[0].checked = oCheckbox.checked;}}//]]></script><asp:GridView ID="GridView1" runat="server" Font-Size="12px" BackColor="#FFFFFF"GridLines="Both" CellPadding="4" DataKeyNames="id" AutoGenerateColumns="false" OnRowCancelingEdit="GridView1_RowCancelingEdit" OnRowDataBound="GridView1_RowDataBound" OnRowDeleting="GridView1_RowDeleting" OnRowEditing="GridView1_RowEditing" OnRowUpdating="GridView1_RowUpdating" AllowPaging="True" OnPageIndexChanging="GridView1_PageIndexChanging1"><HeaderStyle BackColor="#EDEDED" Height="26px" /><Columns><asp:TemplateField><HeaderTemplate><input id="Checkbox2" type="checkbox" οnclick="CheckAll(this)" runat="server" /><label>全選</label></HeaderTemplate><ItemTemplate><asp:CheckBox ID="ItemCheckBox" runat="server" /></ItemTemplate></asp:TemplateField><asp:TemplateField HeaderText="序號">
<ItemTemplate>
<%#Container.DataItemIndex + 1%>
</ItemTemplate>
</asp:TemplateField><asp:BoundField DataField="id" HeaderText="編號" ReadOnly="True" /><asp:BoundField DataField="name" HeaderText="姓名" ReadOnly="True" /><asp:TemplateField HeaderText="身份證號"><ItemTemplate><%#Eval("card") %></ItemTemplate><EditItemTemplate><asp:TextBox ID="TBCard" Text='<%#Eval("card") %>' runat="server"></asp:TextBox><asp:RequiredFieldValidator ID="RequiredFieldValidator1" Display="Dynamic" ControlToValidate="TBCard" runat="server" ErrorMessage="請填寫身份證號"></asp:RequiredFieldValidator></EditItemTemplate></asp:TemplateField><asp:TemplateField HeaderText="學歷"><ItemTemplate><%#Eval("xueliText")%></ItemTemplate><EditItemTemplate><asp:HiddenField ID="HDFXueli" runat="server" Value='<%#Eval("xueli") %>' /><asp:DropDownList ID="DDLXueli" runat="server"></asp:DropDownList> </EditItemTemplate></asp:TemplateField><asp:TemplateField HeaderText="價格"><ItemTemplate><%#Eval("price")%></ItemTemplate><EditItemTemplate> <asp:TextBox ID="TBPrice" Text='<%#Eval("price") %>' runat="server"></asp:TextBox> </EditItemTemplate></asp:TemplateField><asp:BoundField HeaderText="建立時間" DataField="createdate" ReadOnly="True" /><asp:CommandField ShowEditButton="True" HeaderText="修改" /><asp:TemplateField HeaderText="刪除"><ItemTemplate><asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False" CommandName="Delete"Text="刪除" OnClientClick="return confirm('您確認刪除該記錄嗎?');"></asp:LinkButton></ItemTemplate></asp:TemplateField></Columns></asp:GridView>
在 .CS 中取值:
?
protected void Button1_Click(object sender, EventArgs e){this.Label1.Text = "";foreach (GridViewRow gvr in GridView1.Rows){CheckBox ch = (CheckBox)gvr.FindControl("ItemCheckBox");if (ch.Checked){this.Label1.Text += "<li>GridView1 您選擇的是(鍵值):" + GridView1.DataKeys[gvr.RowIndex].Value.ToString();}}}方法二:
<asp:GridView ID="GridView1" runat="server" AllowPaging="True" OnPageIndexChanging="GridView1_PageIndexChanging" OnRowCancelingEdit="GridView1_RowCancelingEdit" OnRowDataBound="GridView1_RowDataBound" OnRowDeleting="GridView1_RowDeleting" OnRowEditing="GridView1_RowEditing" OnRowUpdating="GridView1_RowUpdating" AutoGenerateColumns="False" DataKeyNames="id,name" DataMember="card,price"> <Columns> <asp:TemplateField> <HeaderTemplate> <asp:CheckBox ID="CheckBox1" runat="server" Text="全選" AutoPostBack="true" OnCheckedChanged="CheckAll" /> </HeaderTemplate> <ItemTemplate> <asp:CheckBox ID="ItemCheckBox" runat="server" /> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="序號"> <ItemTemplate> <%#Container.DataItemIndex + 1%> </ItemTemplate> </asp:TemplateField> <asp:BoundField DataField="id" HeaderText="編號" ReadOnly="True" /> <asp:BoundField DataField="name" HeaderText="姓名" ReadOnly="True" /><asp:TemplateField HeaderText="身份證號"><ItemTemplate> <%#Eval("card") %> </ItemTemplate><EditItemTemplate> <asp:TextBox ID="TBCard" Text='<%#Eval("card") %>' runat="server"></asp:TextBox> <asp:RequiredFieldValidator ID="RequiredFieldValidator1" Display="Dynamic" ControlToValidate="TBCard" runat="server" ErrorMessage="請填寫身份證號"></asp:RequiredFieldValidator></EditItemTemplate></asp:TemplateField><asp:TemplateField HeaderText="學歷"><ItemTemplate> <%#Eval("xueliText")%> </ItemTemplate><EditItemTemplate> <asp:HiddenField ID="HDFXueli" runat="server" Value='<%#Eval("xueli") %>' /> <asp:DropDownList ID="DDLXueli" runat="server"> </asp:DropDownList> </EditItemTemplate></asp:TemplateField><asp:TemplateField HeaderText="價格"><ItemTemplate> <%#Eval("price")%> </ItemTemplate><EditItemTemplate> <asp:TextBox ID="TBPrice" Text='<%#Eval("price") %>' runat="server"></asp:TextBox> </EditItemTemplate></asp:TemplateField><asp:BoundField HeaderText="建立時間" DataField="createdate" ReadOnly="True" /> <asp:CommandField ShowEditButton="True" HeaderText="修改" /> <asp:TemplateField HeaderText="刪除"> <ItemTemplate> <asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False" CommandName="Delete" Text="刪除" OnClientClick="return confirm('您確認刪除該記錄嗎?');"></asp:LinkButton> </ItemTemplate> </asp:TemplateField> </Columns> </asp:GridView>在 cs中:
protected void CheckAll(object sender, EventArgs e){CheckBox cbx = (CheckBox)sender;foreach (GridViewRow gvr in GridView1.Rows){CheckBox ch = (CheckBox)gvr.FindControl("ItemCheckBox");ch.Checked = cbx.Checked;}}protected void Button1_Click(object sender, EventArgs e){this.Label1.Text = "";foreach (GridViewRow gvr in GridView1.Rows){CheckBox ch = (CheckBox)gvr.FindControl("ItemCheckBox");if (ch.Checked){this.Label1.Text += "<li>GridView1 您選擇的是(鍵值):" + GridView1.DataKeys[gvr.RowIndex].Value.ToString();}}}?
轉載于:https://www.cnblogs.com/ace-wuqing/p/5549339.html
總結
以上是生活随笔為你收集整理的GridView 用 checkbox 全选并取值的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 优秀ASP.NET程序员修炼之路
- 下一篇: 怎么查看python是32位还是64位的