怎么用一个TextBox控件修改数据库中一个表中对应列的直?
用什么方法。

解决方案 »

  1.   

    DataGrid中就附加了这功能,使用编辑列
      

  2.   

    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 DataGrid 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)
             {            BindGrid();         }
                       
          }
     
          void ItemsGrid_Edit(Object sender, DataGridCommandEventArgs e) 
          {         // Set the EditItemIndex property to the index of the item clicked 
             // in the DataGrid control to enable editing for that item. Be sure
             // to rebind the DateGrid to the data source to refresh the control.
             ItemsGrid.EditItemIndex = e.Item.ItemIndex;
             BindGrid();      }
     
          void ItemsGrid_Cancel(Object sender, DataGridCommandEventArgs e) 
          {         // Set the EditItemIndex property to -1 to exit editing mode. 
             // Be sure to rebind the DateGrid to the data source to refresh
             // the control.
             ItemsGrid.EditItemIndex = -1;
             BindGrid();      }
     
          void ItemsGrid_Update(Object sender, DataGridCommandEventArgs e) 
          {         // Retrieve the text boxes that contain the values to update.
             // For bound columns, the edited value is stored in a TextBox.
             // The TextBox is the 0th control in a cell's Controls collection.
             // Each cell in the Cells collection of a DataGrid item represents
             // a column in the DataGrid control.
             TextBox qtyText = (TextBox)e.Item.Cells[3].Controls[0];
             TextBox priceText = (TextBox)e.Item.Cells[4].Controls[0];
     
             // Retrieve the updated values.
             String item = e.Item.Cells[2].Text;
             String qty = qtyText.Text;
             String price = priceText.Text;
            
             DataRow dr;
     
             // 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.
     
             // Remove the old entry and clear the row filter.
             CartView.RowFilter = "Item='" + item + "'";
             if (CartView.Count > 0)
             {
                CartView.Delete(0);
             }
             CartView.RowFilter = "";
     
             // ***************************************************************
             // Insert data validation code here. Be sure to validate the
             // values entered by the user before converting to the appropriate
             // data types and updating the data source.
             // ***************************************************************         // Add the new entry.
             dr = Cart.NewRow();
             dr[0] = Convert.ToInt32(qty);
             dr[1] = item;         // If necessary, remove the '$' character from the price before 
             // converting it 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 DateGrid to the data source to refresh
             // the control.
             ItemsGrid.EditItemIndex = -1;
             BindGrid();      }
     
          void BindGrid() 
          {         // Set the data source and bind to the Data Grid control.
             ItemsGrid.DataSource = CartView;
             ItemsGrid.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 <= 9; 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;      }
    出处:ms-help://MS.MSDNQTR.2003FEB.2052/cpref/html/frlrfSystemWebUIWebControlsDataGridClassEditCommandTopic.htm