⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 grid14.aspx

📁 《精通ASP.NET网络编程》附带实例
💻 ASPX
字号:
 <%@ Import Namespace="System.Data" %>

<html>
<script language="VB" runat="server">

    Dim Cart As DataTable
    Dim CartView As DataView

    Sub Page_Load(sender As Object, e As EventArgs)
        Dim dr As DataRow
        Dim I As Integer

        If Session("MyCart") Is Nothing Then
            Cart = New DataTable()
            Cart.Columns.Add(new DataColumn("Qty", GetType(String)))
            Cart.Columns.Add(new DataColumn("Item", GetType(String)))
            Cart.Columns.Add(new DataColumn("Price", GetType(String)))
            Session("MyCart") = Cart


            For I = 1 To 4
                dr = Cart.NewRow()
                If (i Mod 2 <> 0) Then
                    dr(0) = "2"
                Else
                    dr(0) = "1"
                End If
                dr(1) = "物品" & i.ToString
                dr(2) = (1.23 * (i + 1)).ToString
                Cart.Rows.Add(dr)
            Next
        Else
            Cart = Session("MyCart")
        End If

        CartView = New DataView(Cart)
        CartView.Sort="Item"
        If Not IsPostBack Then

            BindGrid
        End If

    End Sub

    Sub MyDataGrid_Edit(sender As Object, e As DataGridCommandEventArgs)
        MyDataGrid.EditItemIndex = e.Item.ItemIndex
        BindGrid
    End Sub

    Sub MyDataGrid_Cancel(sender As Object, e As DataGridCommandEventArgs)
        MyDataGrid.EditItemIndex = -1
        BindGrid
    End Sub

    Sub MyDataGrid_Update(sender As Object, e As DataGridCommandEventArgs)

        Dim qtyText As TextBox = e.Item.Cells(2).Controls(0)
        Dim priceText As TextBox = e.Item.Cells(3).Controls(0)

        Dim item As String = e.Item.Cells(1).Text
        Dim qty As String = qtyText.Text
        Dim price As String = priceText.Text

        CartView.RowFilter = "Item='" & item & "'"
        If CartView.Count > 0 Then
            CartView.Delete(0)
        End If
        CartView.RowFilter = ""

        Dim dr As DataRow = Cart.NewRow()
        dr(0) = qty
        dr(1) = item
        dr(2) = price
        Cart.Rows.Add(dr)

        MyDataGrid.EditItemIndex = -1
        BindGrid
    End Sub

    Sub BindGrid()
        MyDataGrid.DataSource = CartView
        MyDataGrid.DataBind
    End Sub

</script>

<body style="font: 10pt verdana">

  <form runat="server">

    <h3><font face="Verdana">用DataGrid控制元件编辑数据的例子</font></h3>

    <asp:DataGrid id="MyDataGrid" runat="server"
        BorderColor="black"
        BorderWidth="1"
        CellPadding="3"
        Font-Name="Verdana"
        Font-Size="8pt"
        HeaderStyle-BackColor="#aaaadd"
        OnEditCommand="MyDataGrid_Edit"
        OnCancelCommand="MyDataGrid_Cancel"
        OnUpdateCommand="MyDataGrid_Update"
        AutoGenerateColumns="false"
        >

        <Columns>
            <asp:EditCommandColumn
                EditText="编辑"
                CancelText="取消"
                UpdateText="更新"
                ItemStyle-Wrap="false"
                HeaderText="编辑命令"
                HeaderStyle-Wrap="false"
                />
            <asp:BoundColumn HeaderText="物品" ReadOnly="true" DataField="Item"/>
            <asp:BoundColumn HeaderText="质量" DataField="Qty"/>
            <asp:BoundColumn HeaderText="价格" DataField="Price"/>
        </Columns>
    </asp:DataGrid>

  </form>

</body>
</html>

  
     

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -