📄 datalist6.aspx
字号:
<%@Import Namespace="System.Data"%>
<html>
<head>
<script language="C#" runat="server">
public DataTable Cart;
public DataView CartView;
void Page_Load(Object Sender, EventArgs E) {
if (Session["ShoppingCart"] == 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["ShoppingCart"] = 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["ShoppingCart"];
CartView = new DataView(Cart);
CartView.Sort = "Item";
if (!IsPostBack)
BindList();
}
void BindList() {
DataList1.DataSource= CartView;
DataList1.DataBind();
}
void DataList_EditCommand(Object Sender, DataListCommandEventArgs e) {
DataList1.EditItemIndex = (int)e.Item.ItemIndex;
BindList();
}
protected void DataList_CancelCommand(Object Sender, DataListCommandEventArgs e) {
DataList1.EditItemIndex = -1;
BindList();
}
protected void DataList_UpdateCommand(Object Sender, DataListCommandEventArgs e) {
string item = ((Label)e.Item.FindControl("Label1")).Text;
string qty = ((TextBox)e.Item.FindControl("Text1")).Text;
string price = ((TextBox)e.Item.FindControl("Text2")).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);
DataList1.EditItemIndex = -1;
BindList();
}
</script>
</head>
<body>
<h3><font face="Verdana">使用DataList编辑数据</font></h3>
<p></p>
<form runat=server>
<font face="Verdana" size="-1">
<asp:DataList id="DataList1" runat="server"
BorderColor="black"
BorderWidth="1"
GridLines="Both"
CellPadding="3"
CellSpacing="0"
Font-Name="Verdana"
Font-Size="8pt"
Width="150px"
HeaderStyle-BackColor="#aaaadd"
AlternatingItemStyle-BackColor="Gainsboro"
EditItemStyle-BackColor="lightgreen"
OnEditCommand="DataList_EditCommand"
OnUpdateCommand="DataList_UpdateCommand"
OnCancelCommand="DataList_CancelCommand"
>
<HeaderTemplate>
所有物品
</HeaderTemplate>
<ItemTemplate>
<asp:LinkButton id="button1" runat="server" Text="编辑" CommandName="edit" />
<%# DataBinder.Eval(Container.DataItem, "Item")%>
</ItemTemplate>
<EditItemTemplate>
物品:
<asp:Label id="Label1" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "Item")%>'/>
<br>
质量:
<asp:TextBox id="Text1" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "Qty")%>'/>
<br>
价格:
<asp:TextBox id="Text2" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "Price")%>'/>
<br>
<asp:LinkButton id="button2" runat="server" Text="更新" CommandName="update" />
<asp:LinkButton id="button3" runat="server" Text="取消" CommandName="cancel" />
</EditItemTemplate>
</asp:DataList>
</font>
</form>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -