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

📄 defaultvb.aspx.vb

📁 Telerik是很大的第三方软件制造商
💻 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 + -