📄 datagridedittemplate.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 + -