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

📄 grid15.aspx

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

<html>

<script language="C#" runat="server">

    DataTable Cart;
    DataView CartView;

    void Page_Load(Object sender, EventArgs e) {
        if (Session["MyCart"] == null)     {
            Cart = new DataTable();
            Cart.Columns.Add(new DataColumn("Qty", typeof(string)));
            Cart.Columns.Add(new DataColumn("Item", typeof(string)));
            Cart.Columns.Add(new DataColumn("Price", typeof(string)));
            Session["MyCart"] = Cart;

 
            for (int i=1; i<5; i++) {
                DataRow dr = Cart.NewRow();
                dr[0] = ((int)(i%2)+1).ToString();
                dr[1] = "物品" + i.ToString();
                dr[2] = ((double)(1.23 * (i+1))).ToString();
                Cart.Rows.Add(dr);
            }
        }
        else {
            Cart = (DataTable)Session["MyCart"];
        }

        CartView = new DataView(Cart);
        CartView.Sort = "Item";
        if (!IsPostBack) {
            BindGrid();
        }
    }

    public void MyDataGrid_Edit(Object sender, DataGridCommandEventArgs e) {
        MyDataGrid.EditItemIndex = (int)e.Item.ItemIndex;
        BindGrid();
    }

    public void MyDataGrid_Cancel(Object sender, DataGridCommandEventArgs e) {
        MyDataGrid.EditItemIndex = -1;
        BindGrid();
    }

    public void MyDataGrid_Update(Object sender, DataGridCommandEventArgs e) {
        
        string item = e.Item.Cells[1].Text;
        string qty = ((TextBox)e.Item.Cells[2].Controls[0]).Text;
        string price = ((TextBox)e.Item.Cells[3].Controls[0]).Text;

  
        CartView.RowFilter = "Item='"+item+"'";
        if (CartView.Count > 0) {
    
            CartView.Delete(0);
        }
        CartView.RowFilter = "";

        DataRow dr = Cart.NewRow();
        dr[0] = qty;
        dr[1] = item;
        dr[2] = price;
        Cart.Rows.Add(dr);

        MyDataGrid.EditItemIndex = -1;
        BindGrid();
    }

    public void BindGrid() {
        MyDataGrid.DataSource = CartView;
        MyDataGrid.DataBind();
    }

</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 + -