产品GridView列表购物车实现(跟上一个结合)

版权声明: https://blog.csdn.net/eds124/article/details/85262475

Partial Class Goods
    Inherits System.Web.UI.Page
    Private sds As SqlDataSource = New SqlDataSource(Dao.ConnectionString, "select * from t_goods")

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If Session("username") = Nothing Then '没有登陆就不可以访问
            Response.Redirect("~/Default.aspx") '跳转
            Return '后面的都不执行
        End If
    End Sub

    Protected Sub gv_PreRender(ByVal sender As Object, ByVal e As System.EventArgs) Handles gv.PreRender '马上呈现gv的时候触发
        Me.gv.DataKeyNames = New String() {"goodsguid", "goodsinserttime", "goodsupdatetime"} '数据键,gridview的数据键不允许编辑
        Me.gv.AllowPaging = True '启用分页
        Me.gv.AutoGenerateDeleteButton = True '显示删除按钮
        Me.gv.AutoGenerateEditButton = True '显示编辑按钮
        Me.gv.AutoGenerateSelectButton = True '显示选择按钮
        Me.gv.AlternatingRowStyle.BackColor = Drawing.Color.AliceBlue '迭代行颜色
        Me.gv.RowStyle.BackColor = Drawing.Color.AntiqueWhite '行颜色
        Me.gv.SelectedRowStyle.BackColor = Drawing.Color.Aqua '选择行颜色
        Me.gv.EmptyDataText = "数据库表内没有数据" '数据源为空时显示的数据 
        Me.gv.DataSource = sds '选择gv的数据源
        Me.gv.DataBind() '绑定gv
    End Sub

    Protected Sub gv_RowEditing(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewEditEventArgs) Handles gv.RowEditing
        Me.gv.EditIndex = e.NewEditIndex '编辑行可用
    End Sub

    Protected Sub gv_RowCancelingEdit(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCancelEditEventArgs) Handles gv.RowCancelingEdit
        Me.gv.EditIndex = -1 '取消编辑
    End Sub

    Protected Sub gv_RowDeleting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewDeleteEventArgs) Handles gv.RowDeleting
        Dim goodsguid As String = Me.gv.DataKeys(e.RowIndex).Values("goodsguid").ToString().Trim() '如果只有一个数据键可以用这一句Me.gv.DataKeys(e.RowIndex).Value.ToString().Trim()
        sds.DeleteCommand = "delete from t_goods where goodsguid = @goodsguid" '删除命令
        sds.DeleteParameters.Add("goodsguid", goodsguid) '参数注入(预处理)
        sds.Delete() '执行删除动作
        Me.gv.EditIndex = -1 '取消编辑
    End Sub

    Protected Sub gv_RowUpdating(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewUpdateEventArgs) Handles gv.RowUpdating
        Dim goodsname As String = CType(Me.gv.Rows(e.RowIndex).Cells(2).Controls(0), TextBox).Text.Trim().ToLower() '取出gv里面的数据强制转换成TextBox再取出里面的Text属性进行去除空格和大小转小写操作
        Dim goodscode As String = CType(Me.gv.Rows(e.RowIndex).Cells(3).Controls(0), TextBox).Text.Trim().ToLower()
        Dim goodsunit As String = CType(Me.gv.Rows(e.RowIndex).Cells(4).Controls(0), TextBox).Text.Trim().ToLower()
        Dim goodscate As String = CType(Me.gv.Rows(e.RowIndex).Cells(5).Controls(0), TextBox).Text.Trim().ToLower()
        Dim goodsprice As String = CType(Me.gv.Rows(e.RowIndex).Cells(6).Controls(0), TextBox).Text.Trim().ToLower()
        Dim goodsguid As String = Me.gv.DataKeys(e.RowIndex).Values("goodsguid").ToString().Trim().ToLower() '如果只有一个数据键可以用这一句Me.gv.DataKeys(e.RowIndex).Value.ToString().Trim()
        sds.UpdateCommand = "update t_goods set goodsname = @goodsname, goodscode = @goodscode, goodsunit = @goodsunit, goodscate = @goodscate, goodsprice = @goodsprice, goodsupdatetime = getdate() where goodsguid = @goodsguid"
        sds.UpdateParameters.Add("goodsname", goodsname)
        sds.UpdateParameters.Add("goodscode", goodscode)
        sds.UpdateParameters.Add("goodsunit", goodsunit)
        sds.UpdateParameters.Add("goodscate", goodscate)
        sds.UpdateParameters.Add("goodsprice", goodsprice) '不可以用Val()函数转换为double类型,因为有可能损失精度
        sds.UpdateParameters.Add("goodsguid", goodsguid)
        sds.Update()
        Me.gv.EditIndex = -1
    End Sub

    Protected Sub gv_SelectedIndexChanging(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewSelectEventArgs) Handles gv.SelectedIndexChanging
        Dim goodsguid As String = Me.gv.Rows(e.NewSelectedIndex).Cells(1).Text.Trim().ToLower() '取出gv里面的数据强制转换成TextBox再取出里面的Text属性进行去除空格和大小转小写操作
        Dim goodsname As String = Me.gv.Rows(e.NewSelectedIndex).Cells(2).Text.Trim().ToLower()  '取出gv里面的数据强制转换成TextBox再取出里面的Text属性进行去除空格和大小转小写操作
        Dim goodscode As String = Me.gv.Rows(e.NewSelectedIndex).Cells(3).Text.Trim().ToLower()
        Dim goodsunit As String = Me.gv.Rows(e.NewSelectedIndex).Cells(4).Text.Trim().ToLower()
        Dim goodscate As String = Me.gv.Rows(e.NewSelectedIndex).Cells(5).Text.Trim().ToLower()
        Dim goodsprice As String = Me.gv.Rows(e.NewSelectedIndex).Cells(6).Text.Trim().ToLower()
        sds.InsertCommand = "insert into t_shopping (goodsguid, goodsname, goodscode, goodsunit, goodscate, goodsprice) values (@goodsguid, @goodsname, @goodscode, @goodsunit, @goodscate, @goodsprice)"
        sds.InsertParameters.Add("goodsguid", goodsguid)
        sds.InsertParameters.Add("goodsname", goodsname)
        sds.InsertParameters.Add("goodscode", goodscode)
        sds.InsertParameters.Add("goodsunit", goodsunit)
        sds.InsertParameters.Add("goodscate", goodscate)
        sds.InsertParameters.Add("goodsprice", goodsprice)
        sds.Insert()
    End Sub

    Protected Sub gv_PageIndexChanging(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewPageEventArgs) Handles gv.PageIndexChanging
        Me.gv.PageIndex = e.NewPageIndex
        Me.gv.EditIndex = -1
    End Sub
End Class

猜你喜欢

转载自blog.csdn.net/eds124/article/details/85262475