📄 defaultvb.aspx.vb
字号:
Imports System
Imports System.Data
Imports System.Data.OleDb
Imports System.Web.UI.WebControls
Imports Telerik.WebControls
Imports Telerik.QuickStart
Namespace Telerik.GridExamplesVBNET.Programming.WebMail
Public MustInherit Class DefaultVB
Inherits XhtmlPage
Protected WithEvents FoldersTree As RadGrid
Protected Button1 As System.Web.UI.WebControls.Button
Protected WithEvents RadGrid1 As RadGrid
Private Property CurrFolder() As String
Get
Dim res As Object = Me.ViewState("CurrFolder")
If Not (res Is Nothing) Then
Return CStr(res)
End If
Return "Inbox"
End Get
Set(ByVal Value As String)
Me.ViewState("CurrFolder") = Value
End Set
End Property
Protected Sub ToggleRowSelection(ByVal sender As Object, ByVal e As EventArgs)
CType(CType(sender, CheckBox).Parent.Parent, GridItem).Selected = CType(sender, CheckBox).Checked
End Sub
Private Sub RadGrid1_NeedDataSource(ByVal [source] As Object, ByVal e As GridNeedDataSourceEventArgs) Handles RadGrid1.NeedDataSource
RadGrid1.DataSource = GetDataTable(("SELECT * FROM Mails Where FolderName = '" + Me.CurrFolder + "'"))
End Sub
Private Sub FoldersTree_NeedDataSource(ByVal [source] As Object, ByVal e As GridNeedDataSourceEventArgs) Handles FoldersTree.NeedDataSource
FoldersTree.DataSource = GetDataTable("SELECT * FROM Folders")
End Sub
Private Sub FoldersTree_DetailTableDataBind(ByVal [source] As Object, ByVal e As GridDetailTableDataBindEventArgs) Handles FoldersTree.DetailTableDataBind
Dim parentItem As GridDataItem = CType(e.DetailTableView.ParentItem, GridDataItem)
If e.DetailTableView.DataMember = "SubFolders" Then
e.DetailTableView.DataSource = GetDataTable(("SELECT * FROM SubFolders where ParentFolder = '" + parentItem("FolderName").Text + "'"))
End If
End Sub
Private Sub FoldersTree_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles FoldersTree.SelectedIndexChanged
Me.CurrFolder = CType(FoldersTree.SelectedItems(0).Cells(3).Controls(0), LinkButton).Text
RadGrid1.CurrentPageIndex = 0
RadGrid1.Rebind()
End Sub
Protected Sub GoToInboxClick(ByVal sender As Object, ByVal e As System.EventArgs)
Me.CurrFolder = "Inbox"
FoldersTree.Items(3).Selected = True
RadGrid1.CurrentPageIndex = 0
RadGrid1.Rebind()
End Sub
Private Sub grid_PreRender(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.PreRender
If Not IsPostBack Then
FoldersTree.Items(3).Selected = True
End If
End Sub
Private Function GetDataTable(ByVal queryString As String) As DataTable
Dim MyOleDbConnection As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + Server.MapPath("~/Grid/Data/Access/Mail.mdb"))
Dim MyOleDbDataAdapter As New OleDbDataAdapter
MyOleDbDataAdapter.SelectCommand = New OleDbCommand(queryString, MyOleDbConnection)
Dim myDataTable As New DataTable
MyOleDbConnection.Open()
Try
MyOleDbDataAdapter.Fill(myDataTable)
Finally
MyOleDbConnection.Close()
End Try
Return myDataTable
End Function
Protected Overrides Sub RaisePostBackEvent(ByVal source As IPostBackEventHandler, ByVal eventArgument As String)
MyBase.RaisePostBackEvent(source, eventArgument)
If source Is Me.RadGrid1 Then
If eventArgument = "Rebind" AndAlso FoldersTree.SelectedItems(0).Cells(3).Controls.Count > 0 Then
Me.CurrFolder = CType(FoldersTree.SelectedItems(0).Cells(3).Controls(0), LinkButton).Text
RadGrid1.CurrentPageIndex = 0
RadGrid1.Rebind()
End If
End If
If source Is Me.FoldersTree Then
If eventArgument = "Rebind" Then
Me.CurrFolder = "Inbox"
FoldersTree.Items(3).Selected = True
RadGrid1.CurrentPageIndex = 0
RadGrid1.Rebind()
End If
End If
End Sub
#Region "Web Form Designer generated code"
Protected Overrides Sub OnInit(ByVal e As EventArgs)
InitializeComponent()
MyBase.OnInit(e)
End Sub
Private Sub InitializeComponent()
End Sub
#End Region
End Class
End Namespace
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -