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

📄 editcommandcolumn.aspx

📁 这是《ASP.NET编程实作教程》一书中的源文件 如果有此书的朋友不防下载过来参考
💻 ASPX
字号:
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<html>
<script language="C#" runat="server">

    //声明表格对象
    DataTable Cart;
    //声明视图对象
    DataView CartView;

    protected void Page_Load(Object sender, EventArgs e) 
    {
        if (Session["DG6_ShoppingCart"] == null)     {
            Cart = new DataTable();
            //建立数据连接
            SqlConnection myConnection = new SqlConnection("server=(local);database=Northwind;Trusted_Connection=yes");
            //创建SqlDataAdapter对象
            SqlDataAdapter myCommand = new SqlDataAdapter("select * from Categories", myConnection);
            //创建DataSet对象
            DataSet ds = new DataSet();
            //将查询结果填充到DataSet对象中
            myCommand.Fill(ds, "Categories");
            Cart=ds.Tables["Categories"];
            Session["DG6_ShoppingCart"] = Cart;      
        }
        else {
            Cart = (DataTable)Session["DG6_ShoppingCart"];
        }
        CartView = new DataView(Cart);
        CartView.Sort = "CategoryID";
        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 id = e.Item.Cells[0].Text;
        string name = ((TextBox)e.Item.Cells[1].Controls[0]).Text;
        string description = ((TextBox)e.Item.Cells[2].Controls[0]).Text;
        // 将原有的记录删除,添加新的记录,注意我们并没有修改数据库中的记录
        CartView.RowFilter = "CategoryID='"+id+"'";
        if (CartView.Count > 0) {
            //删除记录
            CartView.Delete(0);
        }
        CartView.RowFilter = "";
        //更新记录
        DataRow dr = Cart.NewRow();
        dr[0] = id;
        dr[1] = name;
        dr[2] = description;
        Cart.Rows.Add(dr);

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

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

</script>
<body>
  <h3>清单</h3>
  <form runat=server>
  <ASP:DataGrid id="MyDataGrid" runat="server"
        BorderColor="black"
        Font-Name="Verdana"
        Font-Size="8pt"
        HeaderStyle-BackColor="#aaaadd"
        AutoGenerateColumns="false"
        OnEditCommand="MyDataGrid_Edit"
        OnCancelCommand="MyDataGrid_Cancel"
        OnUpdateCommand="MyDataGrid_Update"
        >
  	<Columns>
  	    <asp:BoundColumn HeaderText="序号" ReadOnly="true" DataField="CategoryID"/>
            <asp:BoundColumn HeaderText="名称" DataField="CategoryName" />
            <asp:BoundColumn HeaderText="描述" DataField="Description"/>
  	    <asp:EditCommandColumn
                EditText="Edit"
                CancelText="Cancel"
                UpdateText="Update"
                ItemStyle-Wrap="false"
                HeaderText="编辑"
                HeaderStyle-Wrap="false"
                />
          </Columns>
  </asp:DataGrid>
  </form>
</body>
</html>

⌨️ 快捷键说明

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