使用GridView1

1、界面

<td align="center" colspan="3">  <asp:Button ID="Button1" runat="server" Text="删除选中"  />
                        
                      <asp:GridView ID="GridView1" CaptionAlign="Bottom" GridLines="None"   onrowdeleting="GridView1_RowDeleting"  CssClass ="table1"
                          AutoGenerateColumns="False" runat="server" DataSourceID="SqlDataSource1" Height="100%" Width="100%" AllowPaging="false">
                          <Columns>
                     <asp:TemplateField>
                     <HeaderTemplate>
                         <asp:CheckBox ID="CheckBox1" runat="server"   AutoPostBack="true" OnCheckedChanged="GridView1_CheckBox1_CheckedChanged"/>
                    </HeaderTemplate>
                     <ItemTemplate>
                        <asp:CheckBox ID="Checkbox2" runat="server" AutoPostBack="true"/>
                    </ItemTemplate>
                    </asp:TemplateField>

                           <asp:BoundField  DataField="autoId"  HeaderText="ID"  SortExpression="autoId" />
                           <asp:BoundField  DataField="houseid"  HeaderText="网关"  SortExpression="houseid" />
                            <asp:BoundField  DataField="nodeid"  HeaderText="节点"  SortExpression="nodeid" />
                            <asp:BoundField  DataField="temperature1"  HeaderText="第一层"  SortExpression="temperature1" />
                            <asp:BoundField  DataField="temperature2"  HeaderText="第二层"  SortExpression="temperature2" />
                            <asp:BoundField  DataField="temperature3"  HeaderText="第三层"  SortExpression="temperature3" />
                            <asp:BoundField  DataField="temperature4"  HeaderText="第四层"  SortExpression="temperature4" />
                            <asp:BoundField  DataField="createDate"  HeaderText="日期"  SortExpression="createDate" />
                            <asp:BoundField  DataField="createTime"  HeaderText="时间"  SortExpression="createTime" />
                            <asp:TemplateField HeaderText="删除 " ShowHeader="False">
                          <ItemTemplate>
                           <asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False"
                             CommandName="Delete" Text="删除" OnClientClick="return confirm('你确定要删除吗?')"></asp:LinkButton>
                        </ItemTemplate>
                       </asp:TemplateField>

                          </Columns>
                          </asp:GridView>

 

 

2、程序

 '全选所有数据
    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim sql As String = "delete from temperature where "
        Dim cal As String = ""
        Dim gv As GridViewRow
        Dim i As Integer = 0
        For Each gv In GridView1.Rows
            Dim chk As CheckBox = gv.FindControl("Checkbox2")
            If chk.Checked = True Then
                cal = cal & "autoId=" & GridView1.Rows(i).Cells(1).Text & "   or   "
            End If
            i = i + 1
        Next
        If Not "".Equals(cal) And cal <> "" Then
            sql = sql & cal.Substring(0, cal.Length - 6)
            Try
                Me.SqlDataSource1.DeleteCommand = sql
                Me.SqlDataSource1.Delete()
                GridView1.DataBind()
                Response.Write("<script language=javascript>alert('删除成功!')</script>")
            Catch ex As Exception
                Response.Write("<script language=javascript>alert('删除失败!')</script>")
            End Try
        Else
            Response.Write("<script language=javascript>alert('请选择需要删除的数据!')</script>")
        End If

    End Sub

    Protected Sub GridView1_RowDeleting(ByVal sender As Object, ByVal e As GridViewDeleteEventArgs)
        Dim id As Integer = Me.GridView1.Rows(e.RowIndex).Cells(1).Text
        Try

            Me.SqlDataSource1.DeleteCommand = "delete from temperature where autoId=" & id
            Me.SqlDataSource1.Delete()
            GridView1.DataBind()
            Response.Write("<script language=javascript>alert('删除成功!')</script>")
        Catch ex As Exception
            Throw ex
            Response.Write("<script language=javascript>alert('删除失败!')</script>")
        End Try
    End Sub


    Protected Sub GridView1_CheckBox1_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs)
        Dim gv As GridViewRow
        Dim cb As CheckBox
        cb = sender
        If cb.Checked = True Then
            For Each gv In GridView1.Rows
                Dim chk As CheckBox = gv.FindControl("CheckBox2")
                chk.Checked = True
            Next
        Else
            For Each gv In GridView1.Rows
                Dim chk As CheckBox = gv.FindControl("CheckBox2")
                chk.Checked = False
            Next
        End If
    End Sub

 

3、难点

 一、checkbox全选功能。

如果使用html<input type="checkbox" name="c" /> 可以使用js

如果界面使用<asp:CheckBox ID="Checkbox2" runat="server" AutoPostBack="true"/>,则必须在程序里面加。必须设置AutoPostBack=true

 

二、怎么获取GridView1里选择的值

        Dim gv As GridViewRow
        Dim cb As CheckBox


    For Each gv In GridView1.Rows
            Dim chk As CheckBox = gv.FindControl("Checkbox2")
            If chk.Checked = True Then
                cal = cal & "autoId=" & GridView1.Rows(i).Cells(1).Text & "   or   "
            End If
            i = i + 1
        Next

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值