For more explanations i enclose the pictures of the two situations, before and after loading.
Thanks in advance
I have a radcontextmenu with a radgrid. I attach navigate urls with Querystring values from the Radgrid's datakey values client side. I want to add an additional menuitem that performs a simple database action of update based on the datakey value in the radgrid. I cant find a way of doing this after searching pretty hard, so I need help. Perhaps all I need to do is somehow trigger a server side function, or maybe there is another way. The radgrid uses SQL datasource declarative binding. I would like to do the database update for all the rows selected in the RadGrid based on the datakeynames of each row. So basically, I would like add a menu item that asks "Update Selected Rows?" in an alert, then perform the update for each selected row.
<
telerik:RadAjaxManager
ID
=
"RadAjaxManager1"
runat
=
"server"
>
<
AjaxSettings
>
<
telerik:AjaxSetting
AjaxControlID
=
"RadGrid1"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"RadGrid1"
LoadingPanelID
=
"RadAjaxLoadingPanel1"
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
</
AjaxSettings
>
</
telerik:RadAjaxManager
>
<
telerik:RadAjaxLoadingPanel
ID
=
"RadAjaxLoadingPanel1"
Width
=
"256px"
Height
=
"64px"
runat
=
"server"
>
<
asp:Label
ID
=
"Label2"
runat
=
"server"
ForeColor
=
"Red"
>Loading... </
asp:Label
>
</
telerik:RadAjaxLoadingPanel
>
<
telerik:RadCodeBlock
runat
=
"server"
ID
=
"radCodeBlock"
>
<
script
type
=
"text/javascript"
>
function showFilterItem() {
$find('<%=RadGrid1.ClientID %>').get_masterTableView().showFilterItem();
}
function hideFilterItem() {
$find('<%=RadGrid1.ClientID %>').get_masterTableView().hideFilterItem();
}
function RowContextMenu(sender, eventArgs) {
var NavigateUrl;
var grid = window["<%= RadGrid1.ClientID %>"];
var masterTableView = grid.MasterTableView;
var menu = $find("<%=RadContextMenu1.ClientID %>");
//document.getElementById("<%= Label1.ClientID %>").innerHTML = eventArgs.getDataKeyValue("ReservationID");
NavigateUrl = document.getElementById("<%= Label1.ClientID %>").innerHTML = eventArgs.getDataKeyValue("ReservationID");
var evt = eventArgs.get_domEvent();
var menuEditItem = menu.findItemByText("Edit");
menuEditItem.set_navigateUrl("Reservation.aspx?ReservationID=" + NavigateUrl);
menu.show(evt);
}
function PopulateParticipant(sender, eventArgs) {
var ResID;
ResID = eventArgs.getDataKeyValue("ReservationID");
}
function OnDateSelected(sender, eventArgs) {
sender.set_autoPostBack(true);
}
</
script
>
</
telerik:RadCodeBlock
>
<
asp:Label
ID
=
"Label1"
runat
=
"server"
Text
=
""
></
asp:Label
>
<
telerik:RadGrid
ID
=
"RadGrid1"
runat
=
"server"
PageSize
=
"500"
Height
=
"600px"
AllowFilteringByColumn
=
"True"
AllowPaging
=
"True"
AllowMultiRowSelection
=
"true"
AllowSorting
=
"True"
DataSourceID
=
"SqlDsGetRetReservations"
GridLines
=
"None"
ShowGroupPanel
=
"True"
Skin
=
"Windows7"
AutoGenerateColumns
=
"False"
EnableLinqExpressions
=
"false"
>
<
PagerStyle
Mode
=
"Slider"
></
PagerStyle
>
<
ClientSettings
AllowColumnsReorder
=
"True"
AllowDragToGroup
=
"True"
ReorderColumnsOnClient
=
"True"
>
<
ClientEvents
OnRowContextMenu
=
"RowContextMenu"
OnRowSelected
=
"PopulateParticipant"
/>
<
Scrolling
AllowScroll
=
"True"
UseStaticHeaders
=
"True"
/>
<
Selecting
AllowRowSelect
=
"true"
/>
</
ClientSettings
>
<
MasterTableView
DataSourceID
=
"SqlDsGetRetReservations"
NoMasterRecordsText
=
"No Reservations created during this period."
PagerStyle-Mode
=
"Advanced"
DataKeyNames
=
"ReservationID"
ClientDataKeyNames
=
"ReservationID"
AllowFilteringByColumn
=
"true"
>
<
Columns
>
<
telerik:GridButtonColumn
ButtonType
=
"LinkButton"
CommandName
=
"CancelRes"
HeaderText
=
"Cancel"
UniqueName
=
"Cancel"
Text
=
"Cancel"
ItemStyle-Width
=
"35px"
></
telerik:GridButtonColumn
>
<
telerik:GridBoundColumn
DataField
=
"ReservationID"
FilterControlWidth
=
"50px"
ItemStyle-Width
=
"100px"
HeaderText
=
"Res ID"
SortExpression
=
"ReservationID"
UniqueName
=
"ResID"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"DeptID"
FilterControlWidth
=
"50px"
ItemStyle-Width
=
"100px"
HeaderText
=
"DeptID"
SortExpression
=
"DeptID"
UniqueName
=
"DeptID"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"Chairperson"
HeaderText
=
"Chairperson"
ItemStyle-Width
=
"150px"
AutoPostBackOnFilter
=
"false"
SortExpression
=
"Chairperson"
UniqueName
=
"Chairperson"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"Passcode"
FilterControlWidth
=
"50px"
ItemStyle-Width
=
"100px"
HeaderText
=
"Passcode"
SortExpression
=
"Passcode"
UniqueName
=
"Passcode"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"PasscodeM"
FilterControlWidth
=
"50px"
ItemStyle-Width
=
"100px"
HeaderText
=
"PasscodeM"
SortExpression
=
"PasscodeM"
UniqueName
=
"PasscodeM"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"ContactName"
HeaderText
=
"ContactName"
ItemStyle-Width
=
"150px"
SortExpression
=
"ContactName"
UniqueName
=
"ContactName"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"StatusID"
HeaderText
=
"Status"
SortExpression
=
"Status"
UniqueName
=
"Status"
>
</
telerik:GridBoundColumn
>
</
Columns
>
</
MasterTableView
>
</
telerik:RadGrid
>
<
telerik:RadContextMenu
ID
=
"RadContextMenu1"
runat
=
"server"
OnItemClick
=
"RadContextMenu1_ItemClick"
Skin
=
"Windows7"
>
<
Targets
>
<
telerik:ContextMenuControlTarget
ControlID
=
"RadGrid1"
/>
</
Targets
>
<
Items
>
<
telerik:RadMenuItem
Text
=
"Add"
/>
<
telerik:RadMenuItem
Text
=
"Edit"
/>
</
Items
>
</
telerik:RadContextMenu
>
Any help would be appreciated.
<
div
id
=
"chartdiv"
style
=
"height:300px; width:600px; border: none;"
></
div
>
<
telerik:RadPageView
ID
=
"Achievement"
runat
=
"server"
>
<
div
class
=
"responseDiv"
><
asp:Label
ID
=
"AchievementLabel"
runat
=
"server"
></
asp:Label
></
div
>
<
script
type
=
"text/javascript"
>
(function ($) {
$(window).load(function () {
var exceedPoints = [['3rd', 218], ['4th', 223]];
var plot1 = $.jqplot('chartdiv', [exceedPoints], {
seriesDefaults: { pointLabels: { show: true } },
series: [{ label: 'Exceed' }],
grid: { drawGridlines: false },
seriesColors: ['#666699'],
title: 'Reading Scores'
});
});
})($telerik.$);
</
script
>
</
telerik:RadPageView
>
<
AdvancedEditTemplate
>
<
scheduler:AdvancedForm
runat
=
"server"
ID
=
"AdvancedEditForm1"
Mode
=
"Edit"
Subject='<%# Bind("Subject") %>'
Description='<%# Bind("Description") %>'
Start='<%# Bind("Start") %>'
End='<%# Bind("End") %>'
RecurrenceRuleText='<%# Bind("RecurrenceRule") %>'
CategoriaID='<%# Bind("IDTimeLineResource") %>'
/>
</
AdvancedEditTemplate
>
<
AdvancedInsertTemplate
>
<
scheduler:AdvancedForm
runat
=
"server"
ID
=
"AdvancedInsertForm1"
Mode
=
"Insert"
Subject='<%# Bind("Subject") %>'
Start='<%# Bind("Start") %>'
End='<%# Bind("End") %>'
Description='<%# Bind("Description") %>'
RecurrenceRuleText='<%# Bind("RecurrenceRule") %>'
CategoriaID='<%# Bind("IDTimeLineResource") %>'
/>
</
AdvancedInsertTemplate
>
e.Appointment.Resources.Count
is 0)Protected Sub RadScheduler1_AppointmentInsert(ByVal sender As Object, ByVal e As Telerik.Web.UI.AppointmentInsertEventArgs) Handles RadScheduler1.AppointmentInsert
LogManager.WriteToDebugLog("c:\log\", "RadScheduler1_AppointmentInsert " & e.Appointment.Resources.Count)
If e.Appointment.Resources.Count > 0 Then
If e.Appointment.Resources.GetResourceByType("Categoria") IsNot Nothing Then
Dim myCategory As Long = Convert.ToInt32(e.Appointment.Resources.GetResourceByType("Categoria").Key)
Dim myScheduler As New Adept.CScheduler(myConn)
Dim newID As Long = myScheduler.NewAppointment(e.Appointment.Start, e.Appointment.End, e.Appointment.Subject, e.Appointment.Start, e.Appointment.End, e.Appointment.Start, e.Appointment.End, e.Appointment.Description, , , , myCategory)
myScheduler = Nothing
End If
End If
End Sub
<
asp:Panel
runat
=
"server"
ID
=
"ResourceControls"
>
<%-- RESOURCE CONTROLS --%>
<
ul
class
=
"rsResourceControls"
>
<
li
>
<!-- Resource controls should follow the convention Res[Resource Name] for ID -->
<
scheduler:ResourceControl
runat
=
"server"
ID
=
"ResCategoriaID"
Type
=
"Categoria"
Label
=
"Categoria:"
Skin='<%# Owner.Skin %>' />
</
li
>
</
ul
>
</
asp:Panel
>
<
Bindable
(BindableSupport.Yes, BindingDirection.TwoWay)> _
Public Property CategoriaID() As Object
Get
'IT DOES gET THE RIGHT CATEGORY. IT WORKS!
'LogManager.WriteToDebugLog("c:\log\", "GET BindableSupport CategoriaID " & ResCategoriaID.Value)
Return ResCategoriaID.Value
End Get
Set(ByVal value As Object)
ResCategoriaID.Value = value
'IT DOES SET THE RIGHT CATEGORY. IT WORKS!
'LogManager.WriteToDebugLog("c:\log\", "SET BindableSupport CategoriaID " & value)
End Set
End Property
<
Bindable
(BindableSupport.Yes, BindingDirection.TwoWay)> _
Public Property Value() As Object
Get
If ResourceValue.SelectedValue <> "NULL" Then
'LogManager.WriteToDebugLog("c:\log\", "Value " & DeserializeResourceKey(ResourceValue.SelectedValue))
Return DeserializeResourceKey(ResourceValue.SelectedValue)
'IT WORKS!
End If
Return ""
End Get
Set(ByVal value As Object)
End Set
End Property
<
add
name
=
"Telerik_Web_UI_WebResource_axd"
verb
=
"*"
preCondition
=
"integratedMode"
path
=
"Telerik.Web.UI.WebResource.axd"
type
=
"Telerik.Web.UI.WebResource"
/>
<
telerik:RadScriptManager
ID
=
"RadScriptManager1"
runat
=
"server"
EnableScriptCombine
=
"true"
>
</
telerik:RadScriptManager
>
<
Scripts
>
<
asp:ScriptReference
Assembly
=
"Telerik.Web.UI"
Name
=
"Telerik.Web.UI.Grid.RadGrid.js"
/>
</
Scripts
>