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

📄 buttoncolumn.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["ShoppingCart"] == null) {
            Cart = new DataTable();
            Cart.Columns.Add(new DataColumn("物品", typeof(string)));
            Session["ShoppingCart"] = Cart;
        }
        else {
            Cart = (DataTable)Session["ShoppingCart"];
        }    
        CartView = new DataView(Cart);
        ShoppingCart.DataSource = CartView;
        ShoppingCart.DataBind();
        
        //数据源和DataGrid只绑定一次
        if (!IsPostBack) {
        //建立数据连接
        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");
        //将DataGrid的数据源设定为DataSet对象
        MyDataGrid.DataSource=ds.Tables["Categories"].DefaultView;
        //实现数据绑定
        MyDataGrid.DataBind();
        }

    }
    
    void Grid_CartCommand(Object sender, DataGridCommandEventArgs e) {
        DataRow dr = Cart.NewRow();
        // e.Item是被触发的表格的行
        TableCell itemCell = e.Item.Cells[1];
        string item = itemCell.Text;

        //如果被触发的按钮是AddToCart,则添加商品
        if (((LinkButton)e.CommandSource).CommandName == "AddToCart") {
            dr[0] = item;
            Cart.Rows.Add(dr);
        }
        else {   //删除商品
            CartView.RowFilter = "物品='"+item+"'";
            if (CartView.Count > 0) {    
                CartView.Delete(0);
            }
            CartView.RowFilter = "";
        }
        ShoppingCart.DataBind();
    }

</script>
<body>
  <h3>清单</h3>
  <form runat=server>
  <ASP:DataGrid id="MyDataGrid" runat="server"
        BorderColor="black"
        BorderWidth="1"
        CellPadding="3"
        Font-Name="Verdana"
        Font-Size="8pt"
        HeaderStyle-BackColor="#aaaadd"
        AutoGenerateColumns="false"
        OnItemCommand="Grid_CartCommand"
        >
  	<Columns>
  	    <asp:BoundColumn HeaderText="序号" DataField="CategoryID"/>
            <asp:BoundColumn HeaderText="名称" DataField="CategoryName" />
            <asp:BoundColumn HeaderText="描述" DataField="Description"/>
  	    <asp:ButtonColumn HeaderText="Add" Text="Add" CommandName="AddToCart" />
            <asp:ButtonColumn HeaderText="Remove" Text="Remove" CommandName="RemoveFromCart" />
          </Columns>
  </asp:DataGrid>
  <br>
  
  <ASP:DataGrid id="ShoppingCart" runat="server"
        BorderColor="black"
        BorderWidth="1"
        GridLines="Both"
        ShowFooter="false"
        CellPadding="3"
        CellSpacing="0"
        Font-Name="Verdana"
        Font-Size="8pt"
        HeaderStyle-BackColor="#aaaadd"
        />
  </form>
</body>
</html>

⌨️ 快捷键说明

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