所属类别:Asp
文章作者:未知
特别推荐:免费发布信息 承包关键词~~抢爆了!HOT!
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemwebuiwebcontrolsdatalistclassedititemtemplatetopic.asp<%@ Page Language="C#" AutoEventWireup="True" %><%@ Import Namespace="System.Data" %> // The Cart and CartView objects temporarily store the data source // for the DataList control while the page is being processed. DataTable Cart = new DataTable(); DataView CartView; void Page_Load(Object sender, EventArgs e) { // With a database, use an select query to retrieve the data. // Because the data source in this example is an in-memory // DataTable, retrieve the data from session state if it exists; // otherwise, create the data source. GetSource(); // The DataList control maintains state between posts to the server; // it only needs to be bound to a data source the first time the // page is loaded or when the data source is updated. if (!IsPostBack) {string[] slist = new string[]{"a","b","c"};DataGrid1.DataSource = slist;DataGrid1.DataBind(); } } void BindList(DataList ItemsList) { // Set the data source and bind to the DataList control. ItemsList.DataSource = CartView; ItemsList.DataBind(); } void GetSource() { // For this example, the data source is a DataTable that // is stored in session state. If the data source does not exist, // create it; otherwise, load the data. if (Session["ShoppingCart"] == null) { // Create the sample data. DataRow dr; // Define the columns of the table. Cart.Columns.Add(new DataColumn("Qty", typeof(Int32))); Cart.Columns.Add(new DataColumn("Item", typeof(String))); Cart.Columns.Add(new DataColumn("Price", typeof(Double))); // Store the table in session state to persist its values // between posts to the server. Session["ShoppingCart"] = Cart; // Populate the DataTable with sample data. for (int i = 1; i <= 5; i++) { dr = Cart.NewRow(); if (i % 2 != 0) { dr[0] = 2; } else { dr[0] = 1; } dr[1] = "Item " + i.ToString(); dr[2] = (1.23 * (i + 1)); Cart.Rows.Add(dr); } } else { // Retrieve the sample data from session state. Cart = (DataTable)Session["ShoppingCart"]; } // Create a DataView and specify the field to sort by. CartView = new DataView(Cart); CartView.Sort="Item"; return; } void Edit_Command(Object sender, DataListCommandEventArgs e) { // Set the EditItemIndex property to the index of the item clicked // in the DataList control to enable editing for that item. Be sure // to rebind the DataList to the data source to refresh the control. DataList ItemsList = (DataList)sender; ItemsList.EditItemIndex = e.Item.ItemIndex; BindList(ItemsList); } void Cancel_Command(Object sender, DataListCommandEventArgs e) { // Set the EditItemIndex property to -1 to exit editing mode. Be sure // to rebind the DataList to the data source to refresh the control. DataList ItemsList = (DataList)sender; ItemsList.EditItemIndex = -1; BindList(ItemsList); } void Delete_Command(Object sender, DataListCommandEventArgs e) { // Retrieve the name of the item to remove. String item = ((Label)e.Item.FindControl("ItemLabel")).Text; // Filter the CartView for the selected item and remove it from // the data source. CartView.RowFilter = "Item='" + item + "'"; if (CartView.Count > 0) { CartView.Delete(0); } CartView.RowFilter = ""; // Set the EditItemIndex property to -1 to exit editing mode. Be sure // to rebind the DataList to the data source to refresh the control. DataList ItemsList = (DataList)sender; ItemsList.EditItemIndex = -1; BindList(ItemsList); } void Update_Command(Object sender, DataListCommandEventArgs e) { // Retrieve the updated values from the selected item. String item = ((Label)e.Item.FindControl("ItemLabel")).Text; String qty = ((TextBox)e.Item.FindControl("QtyTextBox")).Text; String price = ((TextBox)e.Item.FindControl("PriceTextBox")).Text; // With a database, use an update command to update the data. // Because the data source in this example is an in-memory // DataTable, delete the old row and replace it with a new one. // Filter the CartView for the selected item and remove it from // the data source. CartView.RowFilter = "Item='" + item + "'"; if (CartView.Count > 0) { CartView.Delete(0); } CartView.RowFilter = ""; // *************************************************************** // Insert data validation code here. Make sure to validate the // values entered by the user before converting to the appropriate // data types and updating the data source. // *************************************************************** // Add a new entry to replace the previous item. DataRow dr = Cart.NewRow(); dr[0] = qty; dr[1] = item; // If necessary, remove the '$' character from the price before // converting the price to a Double. if(price[0] == '$') { dr[2] = Convert.ToDouble(price.Substring(1)); } else { dr[2] = Convert.ToDouble(price); } Cart.Rows.Add(dr); // Set the EditItemIndex property to -1 to exit editing mode. // Be sure to rebind the DataList to the data source to refresh // the control. DataList ItemsList = (DataList)sender; ItemsList.EditItemIndex = -1; BindList(ItemsList); } DataList Edit Example Click Edit to edit the values of the item. <%#Container.ItemIndex+1%> ' GridLines="Both" RepeatColumns="3" RepeatDirection="Horizontal" CellPadding="3" CellSpacing="0" OnEditCommand="Edit_Command" OnUpdateCommand="Update_Command" OnDeleteCommand="Delete_Command" OnCancelCommand="Cancel_Command" runat="server"> Items Item: <%# DataBinder.Eval(Container.DataItem, "Item") %> Quantity: <%# DataBinder.Eval(Container.DataItem, "Qty") %> Price: <%# DataBinder.Eval(Container.DataItem, "Price", "{0:c}") %> Item: ' runat="server"/> Quantity: ' runat="server"/> Price: ' runat="server"/> 关闭本页
相关信息· UNIX入侵(第一章)
· [转载]中文搜索引擎技术揭密:中文分词
· 用以在记录文件中写入自定义的调试信息(主要是时间)的组件
· 一步一步教你轻松打造38度机箱
73794
16861
