<%@ Import Namespace="System.Data.SqlClient" %>
<Script Runat="Server">
Dim conNorthwind As SqlConnection
Dim cmdSql As SqlCommand
Dim strSql As String
Sub Page_Load
conNorthwind=New SqlConnection( "Server=localhost; UID=sa; PWD=secret;Database=Northwind" )
If Not IsPostBack Then
BindDataGrid
End If
End Sub
Sub BindDataGrid
cmdSql = New SqlCommand( "Select * From Employees", conNorthwind )
conNorthwind.Open()
dgrdEmployees.DataSource = cmdSql.ExecuteReader() dgrdEmployees.DataBind()
conNorthwind.Close()
End Sub
Sub dgrdEmployees_EditCommand( s As Object, e As DataGridCommandEventArgs )
dgrdEmployees.EditItemIndex = e.Item.ItemIndex
BindDataGrid
End Sub
Sub dgrdEmployees_UpdateCommand( s As Object, e As DataGridCommandEventArgs )
Dim intEmployeeID As Integer
Dim txtFirstName As TextBox
Dim strFirstName As String
intEmployeeID = dgrdEmployees.DataKeys( e.Item.ItemIndex )
txtFirstName = e.Item.Cells( 1 ).Controls( 0 )
strFirstName = txtFirstName.Text
strSql = "Update Employees Set FirstName=@FirstName " _
& " Where EmployeeID=@EmployeeID"
cmdSql = New SqlCommand( strSql, conNorthwind )
cmdSql.Parameters.Add( "@FirstName", strFirstName )
cmdSql.Parameters.Add( "@EmployeeID", intEmployeeID )
conNorthwind.Open()
cmdSql.ExecuteNonQuery()
conNorthwind.Close()
dgrdEmployees.EditItemIndex = -1
BindDataGrid
End Sub
Sub dgrdEmployees_CancelCommand( s As Object, e As DataGridCommandEventArgs )
dgrdEmployees.EditItemIndex = -1
BindDataGrid
End Sub
</Script>
<html>
<head><title>ExpertDataGridEditEmployees.aspx</title></head>
<body>
<form Runat="Server">
<asp:DataGrid
ID="dgrdEmployees"
OnEditCommand="dgrdEmployees_EditCommand"
OnUpdateCommand="dgrdEmployees_UpdateCommand"
OnCancelCommand="dgrdEmployees_CancelCommand"
DataKeyField="EmployeeID"
AutoGenerateColumns="False"
CellPadding="10"
HeaderStyle-BackColor="LightGrey"
Runat="Server">
<Columns>
<asp:BoundColumn
HeaderText="Employee ID"
DataField="EmployeeID"
ReadOnly="True" />
<asp:BoundColumn
HeaderText="First Name" DataField="FirstName" />
<asp:EditCommandColumn
EditText="Edit!"
UpdateText="Update!"
CancelText="Cancel!" />
</Columns>
</asp:DataGrid>
</form>
</body>
</html> |