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

📄 datagridedittemplate.aspx

📁 asp.net技术内幕的书配源码
💻 ASPX
字号:
<%@ Page Language="C#"%>
<%@ Import Namespace="System.Data.SqlClient" %>

<script runat=server>
SqlConnection conNorthwind;
SqlCommand cmdSql;
string strSql;

void Page_Load(Object sender, EventArgs e)
{ 
	conNorthwind = new SqlConnection( @"Server=localhost;Integrated Security=SSPI;Database=Northwind" );
	  
	if (! IsPostBack )
	{
		BindDataGrid();
	}
}

void BindDataGrid()
{
	cmdSql = new SqlCommand( "Select * From Products", conNorthwind );
	conNorthwind.Open();
	dgrdProducts.DataSource = cmdSql.ExecuteReader();
	dgrdProducts.DataBind();
	conNorthwind.Close();
}

void dgrdProducts_EditCommand( object s, DataGridCommandEventArgs e ) 
{
	dgrdProducts.EditItemIndex = e.Item.ItemIndex;
	BindDataGrid();
}

void dgrdProducts_UpdateCommand( object s, DataGridCommandEventArgs e ) 
{
	int intProductID;
	Decimal decUnitPrice;

	if ( IsValid ) {
		intProductID = Convert.ToInt32(dgrdProducts.DataKeys[ e.Item.ItemIndex ]);
		TextBox txtUnitPrice = (TextBox)e.Item.FindControl( "txtUnitPrice");
		decUnitPrice = Convert.ToDecimal(txtUnitPrice.Text);
		strSql = "Update Products set UnitPrice=@UnitPrice " + "Where ProductID=@ProductID";
		cmdSql = new SqlCommand( strSql, conNorthwind );
		cmdSql.Parameters.Add( "@UnitPrice", decUnitPrice );
		cmdSql.Parameters.Add( "@ProductID", intProductID );
		conNorthwind.Open();
		cmdSql.ExecuteNonQuery();
		conNorthwind.Close();
		dgrdProducts.EditItemIndex = -1;
		BindDataGrid();
	}
}

void dgrdProducts_CancelCommand( object s, DataGridCommandEventArgs e ) 
{
	dgrdProducts.EditItemIndex = -1;
	BindDataGrid();
}

</Script>

<html>
<head><title>DataGridEditTemplate.aspx</title></head>
<body>
<form Runat="Server">

<asp:DataGrid
  ID="dgrdProducts"
  OnEditCommand="dgrdProducts_EditCommand"
  OnUpdateCommand="dgrdProducts_UpdateCommand"
  OnCancelCommand="dgrdProducts_CancelCommand"
  DataKeyField="ProductID"
  AutoGenerateColumns="False"
  CellPadding="10"
  HeaderStyle-BackColor="Salmon"
  Runat="Server">
<Columns>
  <asp:BoundColumn
    HeaderText="Product Name"
    DataField="ProductName"
    ReadOnly="True" />
  <asp:TemplateColumn>
  <HeaderTemplate>
    Price
  </HeaderTemplate>
  <ItemTemplate>
    <%#DataBinder.Eval(Container.DataItem, "UnitPrice" ) %>
  </ItemTemplate>
  <EditItemTemplate>
    <asp:TextBox
      ID="txtUnitPrice"
      Text='<%#DataBinder.Eval(Container.DataItem, "UnitPrice" )%>'
      Runat="Server" />
    <asp:RequiredFieldValidator
      ControlToValidate="txtUnitPrice"
      Display="Dynamic"
      Text="Required!"
      Runat="Server" />
    <asp:CompareValidator
      ControlToValidate="txtUnitPrice"
      Display="Dynamic"
      Text="Must be Currency!"
      Operator="DataTypeCheck"
      Type="Currency"
      Runat="Server" />
  </EditItemTemplate>
  </asp:TemplateColumn>
  <asp:EditCommandColumn
    EditText="Edit!"
    UpdateText="Update!"
    CancelText="Cancel!" />
</Columns>
</asp:DataGrid>

</form>
</body>
</html>

⌨️ 快捷键说明

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