cudreg-saml2/Shared/LargeListSelector.aspx.vb
2025-06-08 16:22:20 +07:00

140 lines
No EOL
5.8 KiB
VB.net

Imports System
Imports System.Data
Imports System.Collections
Imports System.ComponentModel
Imports System.Web.UI.WebControls
Imports BaseClasses
Imports BaseClasses.Utils
Imports BaseClasses.Data
Imports BaseClasses.Data.SqlProvider
Imports BaseClasses.Web.UI.WebControls
Imports Persons.Business
Imports Persons.Data
Imports Persons.UI.Controls.LargeListSelector
Namespace Persons.UI
' Code-behind class for the LargeListSelector page.
' Place your customizations in Section 1. Do not modify Section 2.
Partial Public Class LargeListSelector
Inherits BaseApplicationPage
#Region "Section 1: Place your customizations here."
Public Sub New()
Me.IsUpdatesSessionNavigationHistory = False
End Sub
' LoadData reads database data and assigns it to UI controls.
' Customize by adding code before or after the call to LoadData_Base()
' or replace the call to LoadData_Base().
Public Sub LoadData()
LoadData_Base()
End Sub
Private Sub Page_PreInit(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.PreInit
Me.Page_PreInit_Base()
End Sub
#Region "Ajax Functions"
<Services.WebMethod()> _
Public Shared Function GetAutoCompletionList_StartsWith(ByVal prefixText As String, ByVal count As Integer) As String()
' GetEmployeesSearchAreaCompletionList gets the list of suggestions from the database.
' prefixText is the search text typed by the user .
' count specifies the number of suggestions to be returned.
' Customize by adding code before or after the call to GetAutoCompletionList_EmployeesSearchArea()
' or replace the call to GetAutoCompletionList_EmployeesSearchArea().
Return GetAutoCompletionList_Base(prefixText, Nothing, count)
End Function
<Services.WebMethod()> _
Public Shared Function GetAutoCompletionList_Contains(ByVal prefixText As String, ByVal count As Integer) As String()
' GetEmployeesSearchAreaCompletionList gets the list of suggestions from the database.
' prefixText is the search text typed by the user .
' count specifies the number of suggestions to be returned.
' Customize by adding code before or after the call to GetAutoCompletionList_EmployeesSearchArea()
' or replace the call to GetAutoCompletionList_EmployeesSearchArea().
Return GetAutoCompletionList_Base(Nothing, prefixText, count)
End Function
#End Region
#End Region
#Region "Section 2: Do not modify this section."
Protected Sub Page_PreInit_Base()
'This is multi-color theme, so assign proper theme
Dim selectedTheme As String = Me.GetSelectedTheme()
If Not String.IsNullOrEmpty(selectedTheme) Then Me.Page.Theme = selectedTheme
End Sub
' Handles MyBase.Load. If you need to, you can add additional Load handlers in Section 1.
' Read database data and put into the UI controls.
Protected Overridable Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
' Load data only when displaying the page for the first time
If (Not Me.IsPostBack) Then
' Check if user has access to this page. Redirects to either sign-in page
' or 'no access' page if not. Does not do anything if role-based security
' is not turned on, but you can override to add your own security.
Me.Authorize(Me.GetAuthorizedRoles())
' Read the data for all controls on the page.
' To change the behavior, override the DataBind method for the individual
' record or table UI controls.
Me.LoadData()
End If
End Sub
Public Shared Function GetAutoCompletionList_Base(ByVal startsWithText As String, ByVal containsText As String, ByVal count As Integer) As String()
' Since this method is a shared/static method it does not maintain information about page or controls within the page.
' Hence we can not invoke any method associated with any controls.
' So, if we need to use any control in the page we need to instantiate it.
Dim control As Persons.UI.Controls.LargeListSelector.ItemsTable
control = New Persons.UI.Controls.LargeListSelector.ItemsTable
Return control.GetAutoCompletionList(startsWithText, containsText, count)
End Function
' Load data from database into UI controls.
' Modify LoadData in Section 1 above to customize. Or override DataBind() in
' the individual table and record controls to customize.
Public Sub LoadData_Base()
Try
' Load data only when displaying the page for the first time
If (Not Me.IsPostBack) Then
' Must start a transaction before performing database operations
DbUtils.StartTransaction()
' Load data for each record and table UI control.
' Ordering is important because child controls get
' their parent ids from their parent UI controls.
End If
Catch ex As Exception
' An error has occured so display an error message.
Utils.RegisterJScriptAlert(Me, "Page_Load_Error_Message", ex.Message)
Finally
If Not Me.IsPostBack Then
' End database transaction
DbUtils.EndTransaction()
End If
End Try
End Sub
Protected Overrides Sub UpdateSessionNavigationHistory()
'Do nothing
End Sub
#End Region
End Class
End Namespace