I had enabled checkbox feature in radlistbox,
i had checked selected item in Source Listbox, but the transfer button still disable.
i need to click either row in SourceListbox, and then the transfer button will be enable.
how can i simply checked the checkbox and then click transfer button ? thanks
<
table
>
<
tr
>
<
td
>
Unselect
<
br
/>
<
telerik:RadListBox
runat
=
"server"
ID
=
"RadListBox_unselect"
Height
=
"200px"
Width
=
"230px"
AllowTransfer
=
"True"
TransferToID
=
"RadListBox_select"
AutoPostBack
=
"True"
CheckBoxes
=
"True"
style
=
"top: 0px; left: 0px"
DataSourceID
=
"ODS_Unselect"
DataTextField
=
"employee_display_name"
DataValueField
=
"employee_id"
OnClientTransferring
=
"clientTransfering"
>
</
telerik:RadListBox
>
<
asp:ObjectDataSource
ID
=
"ODS_Unselect"
runat
=
"server"
SelectMethod
=
"GetEmployeeArrayByListByCourseID"
TypeName
=
"LRDB"
>
<
SelectParameters
>
<
asp:SessionParameter
DefaultValue
=
"0"
Name
=
"id"
SessionField
=
"EmpList"
Type
=
"String"
/>
<
asp:QueryStringParameter
Name
=
"CID"
QueryStringField
=
"CourseID"
Type
=
"String"
/>
</
SelectParameters
>
</
asp:ObjectDataSource
>
</
td
>
<
td
></
td
>
<
td
>
Selected
<
br
/>
<
telerik:RadListBox
runat
=
"server"
ID
=
"RadListBox_select"
Height
=
"200px"
Width
=
"200px"
TransferToID
=
"RadListBox_unselect"
AutoPostBack
=
"True"
CheckBoxes
=
"True"
style
=
"top: 0px; left: 0px"
>
</
telerik:RadListBox
>
</
td
>
</
tr
>
</
table
>
5 Answers, 1 is accepted
0
Shinu
Top achievements
Rank 2
answered on 24 Jun 2013, 05:21 AM
Hi Joe,
One suggestion is using javascript you can set the checked item as selected and hence the transfer button can be enabled on checking items. Please have a look at the sample code I tried which works as expected.
ASPX:
JavaScript:
Thanks,
Shinu.
One suggestion is using javascript you can set the checked item as selected and hence the transfer button can be enabled on checking items. Please have a look at the sample code I tried which works as expected.
ASPX:
<
telerik:RadListBox
ID
=
"RadListBox1"
runat
=
"server"
Skin
=
"Web20"
AllowTransfer
=
"true"
CheckBoxes
=
"true"
OnClientItemChecked
=
"OnClientItemChecked"
SelectionMode
=
"Multiple"
TransferToID
=
"RadListBox2"
>
<
Items
>
<
telerik:RadListBoxItem
runat
=
"server"
Text
=
"ASP"
/>
<
telerik:RadListBoxItem
runat
=
"server"
Text
=
"WCF"
/>
<
telerik:RadListBoxItem
runat
=
"server"
Text
=
"WPF"
/>
</
Items
>
</
telerik:RadListBox
>
<
telerik:RadListBox
ID
=
"RadListBox2"
runat
=
"server"
Skin
=
"Web20"
>
<
Items
>
<
telerik:RadListBoxItem
runat
=
"server"
Text
=
"JSP"
/>
<
telerik:RadListBoxItem
runat
=
"server"
Text
=
"JSF"
/>
</
Items
>
</
telerik:RadListBox
>
JavaScript:
<script type=
"text/javascript"
>
function
OnClientItemChecked(sender, args) {
args.get_item().set_selected(
true
);
}
</script>
Thanks,
Shinu.
0
Joe
Top achievements
Rank 1
answered on 24 Jun 2013, 10:22 AM
thanks for your reply.
i had implemented your code, but it still need to click either row to enable the transfer button.
cannot just check the checkbox to enable the button.
thanks
i had implemented your code, but it still need to click either row to enable the transfer button.
cannot just check the checkbox to enable the button.
thanks
0
Shinu
Top achievements
Rank 2
answered on 24 Jun 2013, 11:01 AM
Hi Joe,
Can you please provide your full code with the solution I provided?
Thanks,
Shinu.
Can you please provide your full code with the solution I provided?
Thanks,
Shinu.
0
Joe
Top achievements
Rank 1
answered on 24 Jun 2013, 11:33 AM
<%@ Page Title="" Language="VB" MasterPageFile="~/LRDB.master" AutoEventWireup="false" CodeFile="training_session_create.aspx.vb" Inherits="training_session_create" %>
<
asp:Content
ID
=
"Content1"
ContentPlaceHolderID
=
"head"
Runat
=
"Server"
>
<
style
type
=
"text/css"
>
.style4
{
text-decoration: underline;
}
.style10
{
width: 278px;
height: 15px;
background-color: #E7EEF6;
}
html .RadDropDownList_Default .rddlDisabled {
border-color: #cccccc;
}
.style12
{
width: 278px;
height: 32px;
background-color: #E7EEF6;
}
.style13
{
height: 32px;
}
.style15
{
width: 96px;
}
</
style
>
<
script
type
=
"text/javascript"
>
function clientTransfering(sender, args) {
args.set_cancel(true);
var checkedNodes = args.get_sourceListBox().get_checkedItems();
for (var i in checkedNodes) {
var item = checkedNodes[i];
args.get_sourceListBox().transferToDestination(item);
}
}
function OnClientItemChecked(sender, args) {
args.get_item().set_selected(true);
}
</
script
>
</
asp:Content
>
<
asp:Content
ID
=
"Content2"
ContentPlaceHolderID
=
"ContentPlaceHolder2"
Runat
=
"Server"
>
<
telerik:RadToolBar
ID
=
"rtbMenu"
runat
=
"server"
Width
=
"100%"
Skin
=
"Windows7"
>
<
Items
>
<
telerik:RadToolBarButton
Value
=
"Save"
Text
=
"Save"
Width
=
"80px"
Visible
=
"true"
/>
<
telerik:RadToolBarButton
IsSeparator
=
"true"
Visible
=
"true"
/>
<
telerik:RadToolBarButton
Value
=
"Refresh"
Text
=
"Refresh"
Width
=
"80px"
/>
<
telerik:RadToolBarButton
IsSeparator
=
"true"
/>
<
telerik:RadToolBarButton
Value
=
"Back"
Text
=
"Back"
Width
=
"80px"
CausesValidation
=
"false"
/>
<
telerik:RadToolBarButton
Value
=
"BackSeparator"
IsSeparator
=
"true"
/>
</
Items
>
</
telerik:RadToolBar
>
<
telerik:RadFormDecorator
ID
=
"QsfFromDecorator"
runat
=
"server"
DecoratedControls
=
"All"
EnableRoundedCorners
=
"true"
/>
<
div
class
=
"div_menu"
>
<
div
id
=
"content_function"
class
=
"content_function"
>
<
telerik:RadFormDecorator
ID
=
"RpFormDecorator"
runat
=
"server"
Skin
=
"Windows7"
DecoratedControls
=
"All"
EnableRoundedCorners
=
"true"
/>
<
div
style
=
"margin-left:5px;"
>
<
telerik:RadAjaxPanel
ID
=
"RadAjaxPanel1"
runat
=
"server"
>
<
table
style
=
"width:80%;"
>
<
tr
>
<
td
align
=
"left"
valign
=
"top"
class
=
"style10"
>Course
</
td
>
<
td
align
=
"left"
valign
=
"top"
>
<
telerik:RadDropDownList
ID
=
"rdl_select_course"
runat
=
"server"
DefaultMessage
=
"Please Select"
AutoPostBack
=
"True"
OnSelectedIndexChanged
=
"rdl_select_course_OnSelectedIndexChanged"
DataSourceID
=
"LDS_ddl_course"
DataTextField
=
"Course_Name"
DataValueField
=
"Course_ID"
Enabled
=
"false"
>
</
telerik:RadDropDownList
>
<
asp:LinqDataSource
ID
=
"LDS_ddl_course"
runat
=
"server"
ContextTypeName
=
"dcLRDBDataContext"
EntityTypeName
=
""
TableName
=
"db_Courses"
>
</
asp:LinqDataSource
>
</
td
>
</
tr
>
<
tr
>
<
td
align
=
"left"
valign
=
"top"
class
=
"style10"
>Select Location
</
td
>
<
td
align
=
"left"
valign
=
"top"
>
<
telerik:RadDropDownList
ID
=
"rdl_select_location"
runat
=
"server"
DefaultMessage
=
"Please Select"
Enabled
=
"False"
AutoPostBack
=
"True"
OnSelectedIndexChanged
=
"rdl_select_location_OnSelectedIndexChanged"
DataSourceID
=
"LDS_ddl_location"
DataTextField
=
"Location"
DataValueField
=
"Location_ID"
>
</
telerik:RadDropDownList
>
<
asp:LinqDataSource
ID
=
"LDS_ddl_location"
runat
=
"server"
ContextTypeName
=
"dcLRDBDataContext"
EntityTypeName
=
""
TableName
=
"db_Locations"
>
</
asp:LinqDataSource
>
</
td
>
</
tr
>
<
tr
>
<
td
align
=
"left"
valign
=
"top"
class
=
"style10"
>Select Trainer
</
td
>
<
td
align
=
"left"
valign
=
"top"
>
<
telerik:RadDropDownList
ID
=
"rdl_select_trainer"
runat
=
"server"
DefaultMessage
=
"Please Select"
Enabled
=
"False"
AutoPostBack
=
"True"
OnSelectedIndexChanged
=
"rdl_select_trainer_OnSelectedIndexChanged"
DataSourceID
=
"ObjectDataSource1"
DataTextField
=
"DisplayName"
DataValueField
=
"Trainer_ID"
>
</
telerik:RadDropDownList
> <
asp:Label
ID
=
"errmsg_ddl_trainer"
runat
=
"server"
Visible
=
"false"
Text
=
"No available Trainer for this Course and Location"
></
asp:Label
>
<
asp:ObjectDataSource
ID
=
"ObjectDataSource1"
runat
=
"server"
SelectMethod
=
"GetTrainerDetailsArrayByUserID"
TypeName
=
"LRDB"
>
<
SelectParameters
>
<
asp:SessionParameter
Name
=
"id"
SessionField
=
"AvailableTrainerID"
Type
=
"String"
/>
</
SelectParameters
>
</
asp:ObjectDataSource
>
</
td
>
</
tr
>
<
tr
>
<
td
align
=
"left"
valign
=
"top"
class
=
"style12"
>Selection Criteria
</
td
>
<
td
align
=
"left"
valign
=
"top"
class
=
"style13"
>
<
table
>
<
tr
>
<
td
class
=
"style15"
>> Employee
</
td
>
<
td
>
<
telerik:RadDropDownTree
ID
=
"rdl_select_employee"
runat
=
"server"
DataSourceID
=
"ODS_Employee"
DataTextField
=
"employee_display_name"
DataValueField
=
"employee_id"
DefaultMessage
=
"Please Select"
AutoPostBack
=
"True"
CheckBoxes
=
"SingleCheck"
Width
=
"250px"
>
</
telerik:RadDropDownTree
>
<
asp:ObjectDataSource
ID
=
"ODS_Employee"
runat
=
"server"
SelectMethod
=
"GetEmployeeDetailsArrayByCourseIDProjectID"
TypeName
=
"LRDB"
>
<
SelectParameters
>
<
asp:QueryStringParameter
Name
=
"CID"
QueryStringField
=
"CourseID"
Type
=
"Int32"
/>
<
asp:SessionParameter
Name
=
"PID"
SessionField
=
"SelectedPID"
Type
=
"Int32"
/>
</
SelectParameters
>
</
asp:ObjectDataSource
>
</
td
>
</
tr
>
<
tr
>
<
td
class
=
"style15"
>> Role Type</
td
>
<
td
>
<
telerik:RadDropDownTree
ID
=
"rdl_select_roletype"
runat
=
"server"
DataSourceID
=
"LDS_roletype"
DataTextField
=
"rolename"
DataValueField
=
"roletypeid"
DefaultMessage
=
"Please Select"
AutoPostBack
=
"True"
CheckBoxes
=
"SingleCheck"
Width
=
"250px"
>
</
telerik:RadDropDownTree
>
<
asp:ObjectDataSource
ID
=
"ODS_roletype"
runat
=
"server"
SelectMethod
=
"GetRoleTypeByCourseIDProjectID"
TypeName
=
"LRDB"
>
<
SelectParameters
>
<
asp:QueryStringParameter
Name
=
"CID"
QueryStringField
=
"CourseID"
Type
=
"Int32"
/>
<
asp:SessionParameter
Name
=
"PID"
SessionField
=
"SelectedPID"
Type
=
"Int32"
/>
</
SelectParameters
>
</
asp:ObjectDataSource
>
<
asp:LinqDataSource
ID
=
"LDS_roletype"
runat
=
"server"
ContextTypeName
=
"dcLRDBDataContext"
EntityTypeName
=
""
TableName
=
"db_Dictionary_RoleTypes"
>
</
asp:LinqDataSource
>
</
td
>
</
tr
>
<
tr
>
<
td
class
=
"style15"
>> Job Title
</
td
>
<
td
>
<
telerik:RadDropDownTree
ID
=
"rdl_select_jobtitle"
runat
=
"server"
DataSourceID
=
"LDS_JobTitle"
DataTextField
=
"job_title"
DataValueField
=
"id"
DefaultMessage
=
"Please Select"
AutoPostBack
=
"True"
CheckBoxes
=
"SingleCheck"
Width
=
"250px"
>
</
telerik:RadDropDownTree
>
<
asp:ObjectDataSource
ID
=
"ODS_JobTitle"
runat
=
"server"
SelectMethod
=
"GetJobTitleByCourseIDProjectID"
TypeName
=
"LRDB"
>
<
SelectParameters
>
<
asp:QueryStringParameter
Name
=
"CID"
QueryStringField
=
"CourseID"
Type
=
"Int32"
/>
<
asp:SessionParameter
Name
=
"PID"
SessionField
=
"SelectedPID"
Type
=
"Int32"
/>
</
SelectParameters
>
</
asp:ObjectDataSource
>
<
asp:LinqDataSource
ID
=
"LDS_JobTitle"
runat
=
"server"
ContextTypeName
=
"dcLRDBDataContext"
EntityTypeName
=
""
TableName
=
"db_Dictionary_Job_Titles"
>
</
asp:LinqDataSource
>
</
td
>
</
tr
>
<
tr
>
<
td
class
=
"style15"
>> Department
</
td
>
<
td
>
<
telerik:RadDropDownTree
ID
=
"rdl_select_dept"
runat
=
"server"
DataSourceID
=
"LDS_Dept"
DataTextField
=
"department"
DataValueField
=
"deptid"
DefaultMessage
=
"Please Select"
AutoPostBack
=
"True"
CheckBoxes
=
"SingleCheck"
Width
=
"250px"
>
</
telerik:RadDropDownTree
>
<
asp:ObjectDataSource
ID
=
"ODS_Dept"
runat
=
"server"
SelectMethod
=
"GetDeptByCourseIDProjectID"
TypeName
=
"LRDB"
>
<
SelectParameters
>
<
asp:QueryStringParameter
Name
=
"CID"
QueryStringField
=
"CourseID"
Type
=
"Int32"
/>
<
asp:SessionParameter
Name
=
"PID"
SessionField
=
"SelectedPID"
Type
=
"Int32"
/>
</
SelectParameters
>
</
asp:ObjectDataSource
>
<
asp:LinqDataSource
ID
=
"LDS_Dept"
runat
=
"server"
ContextTypeName
=
"dcLRDBDataContext"
EntityTypeName
=
""
TableName
=
"db_Departments"
>
</
asp:LinqDataSource
>
</
td
>
</
tr
>
</
table
>
<
asp:Button
ID
=
"btnSearch"
runat
=
"server"
Text
=
"Search"
OnClick
=
"btnSearch_click"
/>
<
br
/>
<
br
/>
<
br
/>
<
br
/>
<
table
>
<
tr
>
<
td
>
Unselect
<
br
/>
<
telerik:RadListBox
runat
=
"server"
ID
=
"RadListBox_unselect"
Height
=
"200px"
Width
=
"230px"
AllowTransfer
=
"True"
TransferToID
=
"RadListBox_select"
AutoPostBack
=
"True"
CheckBoxes
=
"True"
SelectionMode
=
"Multiple"
style
=
"top: 0px; left: 0px"
DataSourceID
=
"ODS_Unselect"
OnClientItemChecked
=
"OnClientItemChecked"
DataTextField
=
"employee_display_name"
DataValueField
=
"employee_id"
OnClientTransferring
=
"clientTransfering"
>
</
telerik:RadListBox
>
<
asp:ObjectDataSource
ID
=
"ODS_Unselect"
runat
=
"server"
SelectMethod
=
"GetEmployeeArrayByListByCourseID"
TypeName
=
"LRDB"
>
<
SelectParameters
>
<
asp:SessionParameter
DefaultValue
=
"0"
Name
=
"id"
SessionField
=
"EmpList"
Type
=
"String"
/>
<
asp:QueryStringParameter
Name
=
"CID"
QueryStringField
=
"CourseID"
Type
=
"String"
/>
</
SelectParameters
>
</
asp:ObjectDataSource
>
</
td
>
<
td
></
td
>
<
td
>
Selected
<
br
/>
<
telerik:RadListBox
runat
=
"server"
ID
=
"RadListBox_select"
Height
=
"200px"
Width
=
"200px"
TransferToID
=
"RadListBox_unselect"
AutoPostBack
=
"True"
CheckBoxes
=
"True"
style
=
"top: 0px; left: 0px"
>
</
telerik:RadListBox
>
</
td
>
</
tr
>
</
table
>
</
td
>
</
tr
>
<
tr
>
<
td
align
=
"left"
valign
=
"top"
class
=
"style10"
>Teaching Material URL
</
td
>
<
td
align
=
"left"
valign
=
"top"
>
<
asp:TextBox
ID
=
"Tb_material_url"
runat
=
"server"
Width
=
"671px"
Enabled
=
"false"
></
asp:TextBox
>
</
td
>
</
tr
>
<
tr
>
<
td
align
=
"left"
valign
=
"top"
class
=
"style10"
>Attachment
</
td
>
<
td
align
=
"left"
valign
=
"top"
>
<
telerik:RadProgressManager
runat
=
"server"
ID
=
"RadProgressManager1"
/>
<
telerik:RadAsyncUpload
runat
=
"server"
ID
=
"AsyncUpload_Attachment"
InitialFileInputsCount
=
"1"
MaxFileSize
=
"10240000"
MultipleFileSelection
=
"Automatic"
/>
<
telerik:RadProgressArea
runat
=
"server"
ID
=
"RadProgressArea1"
/>
</
td
>
</
tr
>
<
tr
>
<
td
align
=
"left"
valign
=
"top"
class
=
"style10"
>Select Date & Time
</
td
>
<
td
align
=
"left"
valign
=
"top"
>
<
telerik:RadAjaxLoadingPanel
runat
=
"server"
ID
=
"RadAjaxLoadingPanel1"
InitialDelayTime
=
"200"
>
</
telerik:RadAjaxLoadingPanel
>
<
telerik:RadScriptBlock
runat
=
"server"
ID
=
"RadScriptBlock1"
>
<
script
type
=
"text/javascript"
>
//
<![CDATA[
var selectedAppointment = null;
var contextMenuSlot = null;
function checkResourceMenuItem(menu, appointment) {
var calendar = appointment.get_resources().getResourcesByType("Calendar").getResource(0);
if (!calendar)
return;
var categorizeItem = menu.findItemByText("Categorize");
//Traverse all menu items below "Categorize"
for (var i = 0; i < categorizeItem.get_items().get_count(); i++) {
var item = categorizeItem.get_items().getItem(i);
if (item.get_value() == calendar.get_key()) {
//The item corresponds to the current "Calendar" - the Value of the item stores the Key of the resource
item.set_imageUrl("Images/checked.gif");
}
else {
item.set_imageUrl("");
}
}
}
//Called when the user right-clicks an appointment
function appointmentContextMenu(sender, eventArgs) {
var menu = $find("<%= SchedulerAppointmentContextMenu.ClientID %>");
selectedAppointment = eventArgs.get_appointment();
checkResourceMenuItem(menu, selectedAppointment);
menu.show(eventArgs.get_domEvent());
}
// //Called when the user clicks an item from the appointment context menu
// function appointmentContextMenuItemClicking(sender, eventArgs) {
// var clickedItem = eventArgs.get_item();
// if (clickedItem.get_text() == "Categorize") {
// //Prevent the menu from closing if the user clicked the "Categorize" menu item
// eventArgs.set_cancel(true);
// return;
// }
// }
//Called when the user clicks an item from the appointment context menu
// function appointmentContextMenuItemClicked(sender, eventArgs) {
// if (!selectedAppointment)
// return;
// var clickedItem = eventArgs.get_item();
// var scheduler = $find("<%= RadScheduler1.ClientID %>");
// if (clickedItem.get_parent().get_text && clickedItem.get_parent().get_text() == "Categorize") {
// //The user clicked the item corresponding to the "Calendar" resource to which the appointment is assigned
// if (clickedItem.get_imageUrl())
// return;
// //Clear all resources
// selectedAppointment.get_resources().clear();
// //Find the resource corresponding to the clicked item
// var calendar = scheduler.get_resources().getResourceByTypeAndKey("Calendar", clickedItem.get_value());
// //Add it to the appointment resources collection
// selectedAppointment.get_resources().add(calendar);
// //Update the appointment
// scheduler.updateAppointment(selectedAppointment);
// }
// }
//]]>
</
script
>
</
telerik:RadScriptBlock
>
<
telerik:RadScheduler
runat
=
"server"
ID
=
"RadScheduler1"
Width
=
"748px"
Skin
=
"Windows7"
DataEndField
=
"End_Time"
DataKeyField
=
"Session_ID"
DataRecurrenceParentKeyField
=
"RecurrenceParentId"
DataRecurrenceField
=
"RecurrenceRule"
DataSourceID
=
"LDS_schedule"
DataStartField
=
"Start_Time"
OnAppointmentDelete
=
"RadScheduler1_AppointmentDelete"
OnAppointmentInsert
=
"RadScheduler1_AppointmentInsert"
OnAppointmentUpdate
=
"RadScheduler1_AppointmentUpdate"
OnAppointmentDataBound
=
"RadScheduler1_DataBound"
DataSubjectField
=
"db_Course.Course_Name"
OnClientAppointmentContextMenu
=
"appointmentContextMenu"
StartEditingInAdvancedForm
=
"true"
StartInsertingInAdvancedForm
=
"false"
Enabled
=
"false"
>
<
AdvancedForm
Modal
=
"true"
></
AdvancedForm
>
<
TimelineView
UserSelectable
=
"false"
></
TimelineView
>
<
AppointmentContextMenus
>
<%--The appointment context menu interaction is handled on the client in this example--%>
<%--See the JavaScript code above--%>
<
telerik:RadSchedulerContextMenu
runat
=
"server"
ID
=
"SchedulerAppointmentContextMenu"
>
<
Items
>
<
telerik:RadMenuItem
Text
=
"Open"
Value
=
"CommandEdit"
>
</
telerik:RadMenuItem
>
<%-- <
telerik:RadMenuItem
IsSeparator
=
"True"
>
</
telerik:RadMenuItem
>
<
telerik:RadMenuItem
IsSeparator
=
"True"
>
</
telerik:RadMenuItem
>--%>
</
Items
>
</
telerik:RadSchedulerContextMenu
>
</
AppointmentContextMenus
>
</
telerik:RadScheduler
>
<
asp:LinqDataSource
ID
=
"LDS_schedule"
runat
=
"server"
ContextTypeName
=
"dcLRDBDataContext"
EntityTypeName
=
""
TableName
=
"db_Training_Sessions"
Where
=
"Project_ID == @Project_ID"
>
<%-- Where="Course_ID == @Course_ID && Project_ID == @Project_ID">
--%>
<
WhereParameters
>
<
asp:QueryStringParameter
Name
=
"Course_ID"
QueryStringField
=
"CourseID"
Type
=
"Int32"
/>
<
asp:SessionParameter
Name
=
"Project_ID"
SessionField
=
"SelectedPID"
Type
=
"Int32"
/>
</
WhereParameters
>
</
asp:LinqDataSource
>
</
td
>
</
tr
>
</
table
>
</
telerik:RadAjaxPanel
>
</
div
>
</
div
>
</
div
>
</
asp:Content
>
Code Behind
Imports Telerik.Web.UI
Partial Class training_session_create
Inherits System.Web.UI.Page
Dim CourseID As Integer
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
'Dim lb_panel As Label
'lb_panel = CType(Master.FindControl("lb_panel"), Label)
'lb_panel.Text = "Create Session"
If Not IsNothing(Request.QueryString("CourseID")) Then
Session.Remove("SessionID")
Session.Remove("EmpList")
rdl_select_course.SelectedValue = Request.QueryString("CourseID").ToString
rdl_select_course.Enabled = False
rdl_select_location.Enabled = True
RadScheduler1.AllowDelete = False
RadScheduler1.AllowEdit = False
RadScheduler1.AllowInsert = False
'rdl_select_employee.Enabled = False
'rdl_select_dept.Enabled = False
'rdl_select_jobtitle.Enabled = False
'rdl_select_roletype.Enabled = False
End If
End If
End Sub
Protected Sub RadScheduler1_AppointmentInsert(ByVal sender As Object, ByVal e As AppointmentInsertEventArgs)
Dim scheduler As RadScheduler = TryCast(sender, RadScheduler)
'Dim room As Resource = e.Appointment.Resources.GetResourceByType("Room")
'Dim roomId As System.Nullable(Of Integer) = If(room IsNot Nothing, CType(room.Key, System.Nullable(Of Integer)), Nothing)
Dim dc As New dcLRDBDataContext
Dim SessionID As System.Nullable(Of Short) = 0
Dim sid As Integer = 0
'Check if there any row/record create
If IsNothing(HttpContext.Current.Session("SessionID")) Then
Dim dc1 As New dcLRDBDataContext
Dim newRecord1 As New db_Training_Session
dc1.db_Training_Sessions.InsertOnSubmit(newRecord1)
newRecord1.Project_ID = Session("SelectedPID").ToString
newRecord1.Course_ID = Request.QueryString("CourseID").ToString
newRecord1.LastUpdateDate = DateTime.Now
newRecord1.LastUpdateBy = HttpContext.Current.Session("UserID")
'newRecord1.status = "Temp"
dc1.SubmitChanges()
sid = newRecord1.Session_ID
dc1.Dispose()
HttpContext.Current.Session("SessionID") = sid
End If
dc.insertSession(SessionID, HttpContext.Current.Session("SessionID"), Session("SelectedPID").ToString, Request.QueryString("CourseID").ToString, rdl_select_trainer.SelectedValue, rdl_select_location.SelectedValue, "", e.Appointment.Start, e.Appointment.[End], e.Appointment.RecurrenceRule, CType(e.Appointment.RecurrenceParentID, System.Nullable(Of Integer)), DateTime.Now, HttpContext.Current.Session("UserID"))
If SessionID.HasValue Then
'lb_test.Text = "Inserted Value --> " & Convert.ToString(SessionID)
Else
'lb_test.Text = "No Value .."
End If
RadScheduler1.DataBind()
End Sub
Protected Sub RadScheduler1_AppointmentUpdate(ByVal sender As Object, ByVal e As AppointmentUpdateEventArgs)
Dim scheduler As RadScheduler = TryCast(sender, RadScheduler)
'Dim room As Resource = e.ModifiedAppointment.Resources.GetResourceByType("Room")
'Dim roomId As System.Nullable(Of Integer) = If(room IsNot Nothing, CType(room.Key, System.Nullable(Of Integer)), Nothing)
Dim dc As New dcLRDBDataContext
dc.updateSession(Convert.ToInt32(e.Appointment.ID), Session("SelectedPID").ToString, Request.QueryString("CourseID").ToString, rdl_select_trainer.SelectedValue, rdl_select_location.SelectedValue, "Draft", e.ModifiedAppointment.Start, e.ModifiedAppointment.[End], e.ModifiedAppointment.RecurrenceRule, _
CType(e.ModifiedAppointment.RecurrenceParentID, System.Nullable(Of Integer)), DateTime.Now, HttpContext.Current.Session("UserID"))
RadScheduler1.DataBind()
End Sub
Protected Sub RadScheduler1_AppointmentDelete(ByVal sender As Object, ByVal e As SchedulerCancelEventArgs)
Dim scheduler As RadScheduler = TryCast(sender, RadScheduler)
Dim dc As New dcLRDBDataContext
Dim appt_id As Integer = 0
appt_id = Convert.ToInt32(e.Appointment.ID)
Dim i As Integer
If Not IsNothing(HttpContext.Current.Session("SessionID")) Then
Dim res = (From a In dc.db_Training_Sessions Where a.Session_ID = appt_id).ToList
For i = 0 To res.Count - 1
If res.Item(i).Parent_ID = HttpContext.Current.Session("SessionID").ToString Then
dc.deleteSession(Convert.ToInt32(e.Appointment.ID))
RadScheduler1.DataBind()
Else
Page.ClientScript.RegisterStartupScript(Page.GetType(), "MessageBox", "alert('You cannot delete time slot belongs to other session.');", True)
End If
Next
Else
Page.ClientScript.RegisterStartupScript(Page.GetType(), "MessageBox", "alert('You cannot delete time slot belongs to other session.');", True)
End If
End Sub
Protected Sub rtbMenu_ButtonClick(ByVal sender As Object, ByVal e As Telerik.Web.UI.RadToolBarEventArgs) Handles rtbMenu.ButtonClick
If e.Item.Value = "Save" Then
UpdateValues()
'Response.Redirect("~/TrainingAdmin/training_session_create.aspx?CourseID=" & Request.QueryString("CourseID"))
Session.Remove("SessionID")
Response.Redirect("~/TrainingAdmin/training_session.aspx?CourseID=" & Request.QueryString("CourseID"))
ElseIf e.Item.Value = "Refresh" Then
If HttpContext.Current.Session("SessionID") IsNot Nothing Then
ClearValues()
End If
Session.Remove("SessionID")
If Not IsNothing(Request.QueryString("CourseID")) Then
Response.Redirect("~/TrainingAdmin/training_session_create.aspx?CourseID=" & Request.QueryString("CourseID"))
Else
Response.Redirect("~/TrainingAdmin/training_session_create.aspx")
End If
ElseIf e.Item.Value = "Back" Then
If HttpContext.Current.Session("SessionID") IsNot Nothing Then
ClearValues()
End If
Session.Remove("SessionID")
Response.Redirect("~/TrainingAdmin/training_session.aspx?CourseID=" & Request.QueryString("CourseID"))
ElseIf e.Item.Value = "Home" Then
Session.Remove("SessionID")
Response.Redirect("~/TrainingAdmin/training_course.aspx")
End If
End Sub
Protected Sub rdl_select_course_OnSelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles rdl_select_course.SelectedIndexChanged
If rdl_select_course.SelectedText <> rdl_select_course.DefaultMessage And rdl_select_course.SelectedText <> "" And rdl_select_location.Enabled = False Then
'rdl_select_location.ClearSelection()
'rdl_select_location.BorderWidth = "1"
'rdl_select_location.BorderColor = Drawing.Color.OrangeRed
rdl_select_location.Enabled = True
End If
If rdl_select_course.SelectedText <> "" And rdl_select_location.SelectedText <> "" Then
CheckValid("Course")
End If
End Sub
Protected Sub rdl_select_location_OnSelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles rdl_select_location.SelectedIndexChanged
If rdl_select_location.SelectedText <> rdl_select_location.DefaultMessage And rdl_select_trainer.Enabled = False Then
'rdl_select_location.BorderWidth = "0"
'rdl_select_trainer.BorderWidth = "1"
rdl_select_trainer.Enabled = True
'rdl_select_trainer.BorderColor = Drawing.Color.OrangeRed
End If
CheckValid("Location")
End Sub
Protected Sub rdl_select_trainer_OnSelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles rdl_select_trainer.SelectedIndexChanged
'If rdl_select_trainer.SelectedText <> rdl_select_trainer.DefaultMessage And rdl_select_employee.Enabled = False Then
If rdl_select_trainer.SelectedText <> rdl_select_trainer.DefaultMessage Then
'rdl_select_trainer.BorderWidth = "0"
'rdl_select_employee.BorderWidth = "1"
'rdl_select_employee.Enabled = True
'rdl_select_employee.BorderColor = Drawing.Color.OrangeRed
Tb_material_url.Enabled = True
RadScheduler1.Enabled = True
RadScheduler1.AllowDelete = True
RadScheduler1.AllowEdit = True
RadScheduler1.AllowInsert = True
'RadListBoxDestination_Dept.Enabled = True
'RadListBoxDestination_Employee.Enabled = True
'RadListBoxDestination_RoleType.Enabled = True
'RadListBoxDestination_job_title.Enabled = True
'RadListBoxSource_Dept.Enabled = True
'RadListBoxSource_Employee.Enabled = True
'RadListBoxSource_RoleType.Enabled = True
'RadListBoxSource_job_title.Enabled = True
End If
End Sub
'Protected Sub rdl_select_employee_OnSelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles rdl_select_employee.SelectedIndexChanged
' ''If rdl_select_employee.SelectedText <> rdl_select_employee.DefaultMessage And RadListBoxSource_Employee.Enabled = False And RadListBoxDestination_employee.Enabled = False Then
' 'If rdl_select_employee.SelectedText <> rdl_select_employee.DefaultMessage Then
' ' 'rdl_select_employee.BorderWidth = "0"
' ' RadListBoxSource_Employee.Enabled = True
' ' RadListBoxSource_RoleType.Enabled = True
' ' RadListBoxSource_Dept.Enabled = True
' ' RadListBoxDestination_Employee.Enabled = True
' ' RadListBoxDestination_Dept.Enabled = True
' ' RadListBoxDestination_RoleType.Enabled = True
' ' 'RadScheduler1.Enabled = True
' 'End If
' 'If rdl_select_employee.SelectedValue = "Employee" Then
' ' 'Panel_Employee.Visible = True
' ' 'Panel_Dept.Visible = False
' ' 'Panel_RoleType.Visible = False
' ' RadListBoxDestination_Employee.DataBind()
' ' RadListBoxSource_Employee.DataBind()
' 'ElseIf rdl_select_employee.SelectedValue = "RoleType" Then
' ' 'Panel_Employee.Visible = False
' ' 'Panel_Dept.Visible = False
' ' 'Panel_RoleType.Visible = True
' ' RadListBoxDestination_RoleType.DataBind()
' ' RadListBoxSource_RoleType.DataBind()
' 'ElseIf rdl_select_employee.SelectedValue = "Dept" Then
' ' 'Panel_Employee.Visible = False
' ' 'Panel_Dept.Visible = True
' ' 'Panel_RoleType.Visible = False
' ' RadListBoxDestination_Dept.DataBind()
' ' RadListBoxSource_Dept.DataBind()
' 'End If
'End Sub
Protected Sub CheckValid(ByVal ddl As String)
Dim TID As String = ""
If (ddl = "Location") Or (ddl = "Course") Then
TID = GetAvailableTrainerIDByLocationIDCourseID(rdl_select_location.SelectedValue, rdl_select_course.SelectedValue)
HttpContext.Current.Session("AvailableTrainerID") = TID
If TID <> "" Then
errmsg_ddl_trainer.Visible = False
rdl_select_course.BorderWidth = "0"
rdl_select_location.BorderWidth = "0"
If (ddl = "Course") Then
rdl_select_location.ClearSelection()
rdl_select_location.SelectedText = rdl_select_trainer.DefaultMessage
rdl_select_location.DataBind()
'RadListBoxSource_Employee.Enabled = True
'RadListBoxDestination_Employee.Enabled = True
'RadListBoxSource_Dept.Enabled = True
'RadListBoxDestination_Dept.Enabled = True
'RadListBoxSource_RoleType.Enabled = True
'RadListBoxDestination_RoleType.Enabled = True
'RadListBoxSource_job_title.Enabled = True
'RadListBoxDestination_job_title.Enabled = True
RadScheduler1.Enabled = True
End If
rdl_select_trainer.ClearSelection()
rdl_select_trainer.SelectedText = rdl_select_trainer.DefaultMessage
rdl_select_trainer.DataBind()
'RadListBoxDestination_Employee.DataBind()
'RadListBoxSource_Employee.DataBind()
'RadListBoxDestination_RoleType.DataBind()
'RadListBoxSource_RoleType.DataBind()
'RadListBoxDestination_Dept.DataBind()
'RadListBoxSource_Dept.DataBind()
'RadListBoxDestination_job_title.DataBind()
'RadListBoxSource_job_title.DataBind()
Else
rdl_select_trainer.Enabled = False
Tb_material_url.Enabled = False
rdl_select_trainer.ClearSelection()
'rdl_select_employee.BorderWidth = "0"
rdl_select_course.BorderWidth = "1"
rdl_select_course.BorderColor = Drawing.Color.OrangeRed
rdl_select_location.BorderWidth = "1"
rdl_select_location.BorderColor = Drawing.Color.OrangeRed
errmsg_ddl_trainer.Visible = True
'rdl_select_employee.ClearSelection()
'rdl_select_employee.Enabled = False
'RadListBoxSource_Employee.Enabled = False
'RadListBoxDestination_Employee.Enabled = False
'RadListBoxSource_Dept.Enabled = False
'RadListBoxDestination_Dept.Enabled = False
'RadListBoxSource_RoleType.Enabled = False
'RadListBoxDestination_RoleType.Enabled = False
'RadListBoxSource_job_title.Enabled = False
'RadListBoxDestination_job_title.Enabled = False
RadScheduler1.Enabled = False
End If
End If
End Sub
Protected Sub UpdateValues()
'Check if there any row/record create
Dim SessionID As System.Nullable(Of Short) = 0
Dim sid As Integer = 0
If IsNothing(HttpContext.Current.Session("SessionID")) Then
Dim dc3 As New dcLRDBDataContext
Dim newRecord3 As New db_Training_Session
dc3.db_Training_Sessions.InsertOnSubmit(newRecord3)
newRecord3.Project_ID = Session("SelectedPID").ToString
newRecord3.Course_ID = Request.QueryString("CourseID").ToString
newRecord3.LastUpdateDate = DateTime.Now
newRecord3.LastUpdateBy = HttpContext.Current.Session("UserID")
dc3.SubmitChanges()
sid = newRecord3.Session_ID
dc3.Dispose()
HttpContext.Current.Session("SessionID") = sid
End If
Dim dc1 As New dcLRDBDataContext
Dim start_time As System.Nullable(Of DateTime) = Nothing
Dim end_time As System.Nullable(Of DateTime) = Nothing
Dim rec1 = (From p In dc1.db_Training_Sessions Where p.Parent_ID = HttpContext.Current.Session("SessionID").ToString Order By p.Start_Time).FirstOrDefault
If Not rec1 Is Nothing Then
If Not IsNothing(rec1.Start_Time) Then
start_time = rec1.Start_Time
End If
If Not IsNothing(rec1.End_Time) Then
end_time = rec1.End_Time
End If
End If
Dim dc As New dcLRDBDataContext
Dim rec = (From p In dc.db_Training_Sessions Where p.Session_ID = HttpContext.Current.Session("SessionID").ToString).FirstOrDefault
If Not rec Is Nothing Then
rec.Location_ID = rdl_select_location.SelectedValue
rec.Trainer_ID = rdl_select_trainer.SelectedValue
rec.status = "Draft"
rec.LastUpdateDate = DateTime.Now
rec.LastUpdateBy = HttpContext.Current.Session("UserID")
If Tb_material_url.Text <> "" Then
rec.MaterialURL = Tb_material_url.Text.Trim
End If
If Not IsNothing(start_time) Then
rec.Date = start_time
rec.Start_Time = start_time
End If
dc.SubmitChanges()
End If
Using db As New dcLRDBDataContext
Dim rec2 = From p In db.db_Training_Sessions Where p.Parent_ID = HttpContext.Current.Session("SessionID").ToString
For Each p2 In rec2
p2.Location_ID = rdl_select_location.SelectedValue
p2.Trainer_ID = rdl_select_trainer.SelectedValue
p2.status = "Draft"
If Tb_material_url.Text <> "" Then
p2.MaterialURL = Tb_material_url.Text.Trim
End If
p2.LastUpdateDate = DateTime.Now
p2.LastUpdateBy = HttpContext.Current.Session("UserID")
Next
db.SubmitChanges()
End Using
dc.Dispose()
''Insert list box selected value to db
Dim dc2 As New dcLRDBDataContext
Dim i As Integer
For i = 0 To RadListBox_select.Items.Count - 1
dc2.insertSessionDetails_Employee(Session("SessionID").ToString, RadListBox_select.Items(i).Value.ToString, DateTime.Now, HttpContext.Current.Session("UserID"))
Next
End Sub
Protected Sub ClearValues()
Dim dc As New dcLRDBDataContext
Dim result = (From cs In dc.db_Training_Sessions Where cs.Parent_ID = Session("SessionID").ToString And (cs.status Is Nothing Or cs.status = "") Select cs.Session_ID).ToList
Dim i As Integer
If Not IsNothing(result) Then
For i = 0 To result.Count - 1
dc.deleteSession(result.Item(i).ToString)
Next
End If
dc.deleteSession(Session("SessionID").ToString)
End Sub
Protected Sub btnSearch_click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnSearch.Click
Dim list_employee As String
Dim list_roletype As String
Dim list_dept As String
Dim list_jobtitle As String
Dim rList As String = ""
Dim emp_list As String = ""
If rdl_select_employee.SelectedText <> rdl_select_employee.DefaultMessage Then
list_employee = rdl_select_employee.SelectedValue
rList = GetEmployeeListByListByType(list_employee, "Employee")
End If
If rList <> String.Empty Then
emp_list = rList & ","
End If
If rdl_select_roletype.SelectedText <> rdl_select_roletype.DefaultMessage Then
list_roletype = rdl_select_roletype.SelectedValue
rList = GetEmployeeListByListByType(list_roletype, "RoleType")
End If
If rList <> String.Empty Then
emp_list += rList & ","
End If
If rdl_select_dept.SelectedText <> rdl_select_dept.DefaultMessage Then
list_dept = rdl_select_dept.SelectedValue
rList = GetEmployeeListByListByType(list_dept, "Dept")
End If
If rList <> String.Empty Then
emp_list += rList & ","
End If
If rdl_select_jobtitle.SelectedText <> rdl_select_jobtitle.DefaultMessage Then
list_jobtitle = rdl_select_jobtitle.SelectedValue
rList = GetEmployeeListByListByType(list_jobtitle, "JobTitle")
End If
If rList <> String.Empty Then
emp_list += rList
End If
emp_list = TrimList(emp_list)
Dim eList = Split(emp_list, ",")
Dim b As New List(Of String)()
b.AddRange(eList.Distinct())
b.Sort()
Dim tmp As String = ""
For Each x In b
tmp += x & ","
Next
tmp = TrimList(tmp)
HttpContext.Current.Session("EmpList") = tmp
RadListBox_unselect.DataBind()
End Sub
Protected Sub RadScheduler1_DataBound(ByVal sender As Object, ByVal e As Telerik.Web.UI.SchedulerEventArgs)
If Not e.Appointment.ID Is Nothing Then
'Same Course
If GetCourseIDBySessionID(e.Appointment.ID).ToString = Request.QueryString("CourseID").ToString Then
e.Appointment.BackColor = Drawing.Color.LightBlue
Else 'Another course
e.Appointment.BackColor = Drawing.Color.YellowGreen
End If
e.Appointment.AllowDelete = False
e.Appointment.AllowEdit = False
If Not IsNothing(HttpContext.Current.Session("SessionID")) Then
If e.Appointment.ID.ToString = HttpContext.Current.Session("SessionID").ToString Then
e.Appointment.AllowDelete = True
e.Appointment.AllowEdit = True
End If
End If
End If
End Sub
End Class
0
Shinu
Top achievements
Rank 2
answered on 25 Jun 2013, 12:25 PM
Hi Joe,
Unfortunately I couldn't replicate the issue and your code is working fine at my end.
Thanks,
Shinu.
Unfortunately I couldn't replicate the issue and your code is working fine at my end.
Thanks,
Shinu.