📄 defaultvb.aspx.vb
字号:
Imports System
Imports System.Data
Imports System.Data.OleDb
Imports Telerik.QuickStart
Imports Telerik.WebControls
Imports Telerik.QuickStart.Grid
Namespace Telerik.GridExamplesVBNET.DataEditing.TemplateFormUpdate
Public Class DefaultVB
Inherits XhtmlPage
Protected WithEvents Label1 As System.Web.UI.WebControls.Label
Protected WithEvents Label2 As System.Web.UI.WebControls.Label
Protected WithEvents RadGrid1 As Telerik.WebControls.RadGrid
Private Sub RadGrid1_NeedDataSource(ByVal source As Object, ByVal e As Telerik.WebControls.GridNeedDataSourceEventArgs) Handles RadGrid1.NeedDataSource
RadGrid1.DataSource = Me.Employees
End Sub
Public ReadOnly Property Employees() As DataTable
Get
Dim obj As Object = Me.Session("Employees")
If (Not obj Is Nothing) Then
Return CType(obj, DataTable)
End If
Dim myDataTable As DataTable = New DataTable
myDataTable = DataSourceHelperVB.GetDataTable("SELECT * FROM Employees")
Me.Session("Employees") = myDataTable
Return myDataTable
End Get
End Property
Private Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
Label1.Text = String.Empty
If (Not IsPostBack) Then
Me.Session("Employees") = Nothing
End If
End Sub
Private Sub RadGrid1_ItemDataBound(ByVal sender As Object, ByVal e As WebControls.GridItemEventArgs) Handles RadGrid1.ItemDataBound
If (TypeOf e.Item Is GridEditFormItem AndAlso e.Item.IsInEditMode) Then
Dim tocs As ArrayList = New ArrayList(New String() {"Dr.", "Mr.", "Mrs.", "Ms."})
Dim ddlTOC As DropDownList = CType(e.Item.FindControl("ddlTOC"), DropDownList)
ddlTOC.DataSource = tocs
ddlTOC.DataBind()
Dim tocValue As Object = DataBinder.Eval(e.Item.DataItem, "TitleOfCourtesy")
If (tocValue Is DBNull.Value) Then
tocValue = "Mrs."
End If
ddlTOC.SelectedIndex = tocs.IndexOf(CType(tocValue, String))
ddlTOC.DataSource = Nothing
End If
End Sub
Private Sub RadGrid1_ItemCommand(ByVal source As Object, ByVal e As WebControls.GridCommandEventArgs) Handles RadGrid1.ItemCommand
If (e.CommandName = "Update") Then
Dim editedItem As GridEditableItem = CType(e.Item, GridEditableItem)
'Locate the changed row in the DataSource
Dim changedRows As DataRow() = Me.Employees.Select("EmployeeID = " + editedItem("EmployeeID").Text)
If (Not changedRows.Length = 1) Then
Me.Label1.Text += "Unbale to locate the Employee for updating."
e.Canceled = True
Return
End If
'Update new values
Dim newValues As Hashtable = New Hashtable
newValues("Country") = CType(editedItem.FindControl("TextBox7"), TextBox).Text
newValues("City") = CType(editedItem.FindControl("TextBox8"), TextBox).Text
newValues("Region") = CType(editedItem.FindControl("TextBox9"), TextBox).Text
newValues("HomePhone") = CType(editedItem.FindControl("TextBox10"), TextBox).Text
newValues("BirthDate") = CType(editedItem.FindControl("TextBox11"), TextBox).Text
newValues("TitleOfCourtesy") = CType(editedItem.FindControl("ddlTOC"), DropDownList).SelectedItem.Value
newValues("Notes") = CType(editedItem.FindControl("TextBox1"), TextBox).Text
newValues("Address") = CType(editedItem.FindControl("TextBox6"), TextBox).Text
newValues("FirstName") = CType(editedItem.FindControl("TextBox2"), TextBox).Text
newValues("LastName") = CType(editedItem.FindControl("TextBox3"), TextBox).Text
newValues("HireDate") = CType(editedItem.FindControl("Textbox5"), TextBox).Text
newValues("Title") = CType(editedItem.FindControl("TextBox4"), TextBox).Text
changedRows(0).BeginEdit()
Try
Dim entry As DictionaryEntry
For Each entry In newValues
changedRows(0)(CType(entry.Key, String)) = entry.Value
Next
changedRows(0).EndEdit()
Catch ex As Exception
changedRows(0).CancelEdit()
Label1.Text += "Unable to update Employees. Reason: " & ex.Message
e.Canceled = True
End Try
'Code for updating the database can go here...
Label1.Text += "Employee " & editedItem("EmployeeID").Text & " updated"
End If
End Sub
End Class
End Namespace
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -