Please find below details of your request:<br><br><table border="0" width="100%"><tbody><tr><td width="300px" valign="top">Thank you</td></tr></tbody></table>Please find below details of your request:<BR><BR><TABLE border=0 width="100%"><TBODY><TR><TD vAlign=top width=300>Thank you</TD></TR></TBODY></TABLE>
Hi,
I'm working on saving setting made by a user directly after the event. Exemple: i have a column A and a column B. My user take the column B and put it before the column A, so I've change the order of my two columns, and the setting are saved in my DB. I've try with :
Public Sub tmpGrid_Load(ByVal sender As Object, ByVal e As System.EventArgs) Dim tmpGrid As RadGrid = sender If tmpGrid.Page.IsPostBack Then Dim setting As New GridSettingsPersister(tmpGrid) Dim param As String = setting.SaveSettings() End IfEnd SubThe code execute, SaveSettings execute correctly, but the change at screen is made after the event after when I reload my page, my setting are not correct. It's always save all my change but not the last. Exemple: My original order is A-B-C, I put C before A (C-A-B), and after, i put B before C (B-C-A). I quit the page, and I return on the same page after. What I see is C-A-B, not B-C-A.
I've try with the event ColumnReorder, but the same problem occurs. I see that the event execute after my save is made. So how can I do the save after the event. I don't want that my user need to do something to save their setting.
Thank you
Visual studio 2008 .NET 3.5 SP1
Windows 7
Telerik ASP.NET AJAX 2012.1.301.2
VB.NET

<script language="javascript" type="text/javascript"> function tbGroupNamekeypress(sender, eventArgs) { var c = eventArgs.get_keyCharacter(); var idtbGroupname = '<%=tbGroupName.ClientID%>'; var tbGroupnameValue = encodeURI($('#' + idtbGroupname).val() + c); $('#divGroupNamePreview').load("/_layouts/checkGroupName.aspx?name=" + tbGroupnameValue + "&t=" + new Date().getTime()); } </script><telerik:RadTextBox runat="server" ID="tbGroupName" Width="79%" Skin="Metro" ClientEvents-OnKeyPress="tbGroupNamekeypress" MaxLength="47"></telerik:RadTextBox><%@ Page Language="VB" AutoEventWireup="true" CodeFile="RadSchedulerAdvancedForm.aspx.vb"
Inherits="RadSchedulerAdvancedForm" %>
<%@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %>
<%@ Register TagPrefix="scheduler" TagName="AdvancedForm" Src="AdvancedForm.ascx" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/tr/xhtml11/dtd/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<style type="text/css">
.RadScheduler .rsAdvancedEdit .RadColorPicker label
{
text-align: left;
display: block;
padding: 0;
}
</style>
<telerik:RadStyleSheetManager ID="RadStyleSheetManager1" runat="server" />
</head>
<body class="BODY">
<form id="Form1" method="post" runat="server">
<telerik:RadScriptManager ID="RadScriptManager1" runat="server">
<Scripts>
<asp:ScriptReference Path="~/ObjectDataSource/AdvancedForm.js" />
<%--Needed for JavaScript IntelliSense in VS2010--%>
<%--For VS2008 replace RadScriptManager with ScriptManager--%>
<asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.Core.js" />
</Scripts>
</telerik:RadScriptManager>
<script type="text/javascript">
//<![CDATA[
function ChangeStartTime() {
}
function ClientAppointmentEditing(sender, eventArgs) {
}
function OnClientAppointmentMoveEnd(sender, eventArgs) {
var newStartTimeAvailable = new Date('Wed Nov 20 11:00:00 EST 2012');
eventArgs.get_appointment().set_start(newStartTimeAvailable);
sender.updateAppointment(eventArgs.get_appointment());
}
var schedulerTemplates = {};
function schedulerFormCreated(scheduler, eventArgs) {
// Create a client-side object only for the advanced templates
var mode = eventArgs.get_mode();
if (mode == Telerik.Web.UI.SchedulerFormMode.AdvancedInsert ||
mode == Telerik.Web.UI.SchedulerFormMode.AdvancedEdit) {
// Initialize the client-side object for the advanced form
var formElement = eventArgs.get_formElement();
var templateKey = scheduler.get_id() + "_" + mode;
var advancedTemplate = schedulerTemplates[templateKey];
if (!advancedTemplate) {
// Initialize the template for this RadScheduler instance
// and cache it in the schedulerTemplates dictionary
var schedulerElement = scheduler.get_element();
var isModal = scheduler.get_advancedFormSettings().modal;
advancedTemplate = new window.SchedulerAdvancedTemplate(schedulerElement, formElement, isModal);
advancedTemplate.initialize();
schedulerTemplates[templateKey] = advancedTemplate;
// Remove the template object from the dictionary on dispose.
scheduler.add_disposing(function () {
schedulerTemplates[templateKey] = null;
});
}
// Are we using Web Service data binding?
if (!scheduler.get_webServiceSettings().get_isEmpty()) {
// Populate the form with the appointment data
var apt = eventArgs.get_appointment();
var isInsert = mode == Telerik.Web.UI.SchedulerFormMode.AdvancedInsert;
advancedTemplate.populate(apt, isInsert);
}
}
}
//]]>
</script>
<div class="exampleContainer">
<telerik:RadScheduler runat="server" ID="RadScheduler1" DataEndField="End" Reminders-Enabled="true"
AppointmentStyleMode="Default" DataKeyField="ID"
DataStartField="Start" CustomAttributeNames="AppointmentColor"
OnClientFormCreated="schedulerFormCreated" DataSubjectField="Subject" OnAppointmentDataBound="RadScheduler1_AppointmentDataBound"
onclientappointmentmoveend="OnClientAppointmentMoveEnd" Height="640px"
OverflowBehavior="Expand" AllowDelete="False" SelectedView="WeekView"
Localization-ContextMenuEdit="AAA"
onclientappointmentediting="ClientAppointmentEditing"
>
<AppointmentTemplate>
<div class="rsAptSubject">
<%# Eval("Subject") %>
</div>
<%# Eval("Description") %>
</AppointmentTemplate>
<AdvancedEditTemplate>
<scheduler:AdvancedForm runat="server" ID="AdvancedEditForm1" Mode="Edit"
Subject='<%# Bind("Subject") %>'
Description='<%# Bind("Description") %>'
Start='<%# Bind("Start") %>'
End='<%# Bind("End") %>'
RecurrenceRuleText='<%# Bind("RecurrenceRule") %>'
Reminder='<%# Bind("Reminder") %>'
AppointmentColor='<%# Bind("AppointmentColor") %>'
/>
<%--TimeZoneID='<%# Bind("TimeZoneID") %>'--%>
<%--UserID='<%# Bind("User") %>'--%>
<%--RoomID='<%# Bind("Room") %>'--%>
</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") %>'
Reminder='<%# Bind("Reminder") %>'
AppointmentColor='<%# Bind("AppointmentColor") %>'
/>
<%--TimeZoneID='<%# Bind("TimeZoneID") %>'--%>
<%--UserID='<%# Bind("User") %>'--%>
<%--RoomID='<%# Bind("Room") %>'--%>
</AdvancedInsertTemplate>
<AdvancedForm Modal="True" Width="400px" EnableTimeZonesEditing="True" />
<ResourceTypes>
<%-- <telerik:ResourceType DataSourceID="SqlDataSource2" ForeignKeyField="USERID"
KeyField="ID" Name="Users" TextField="USERNAME" />--%>
</ResourceTypes>
<TimelineView UserSelectable="False" />
<WeekView DayEndTime="23:59:59" ColumnHeaderDateFormat="dddd, d"
GroupingDirection="Vertical" />
<Localization AdvancedEditAppointment="Edit" AdvancedNewAppointment="New"
AllDay="Range" />
<MonthView FirstDayHeaderDateFormat="MMMM dd" ColumnHeaderDateFormat="MMMM dddd"
HeaderDateFormat="MMMM, yyyy" />
</telerik:RadScheduler>
<asp:ObjectDataSource ID="ObjectDataSource2" runat="server" SelectMethod="AllUsers"
TypeName="UserList"></asp:ObjectDataSource>
<asp:ObjectDataSource ID="ObjectDataSource1" runat="server" DeleteMethod="DeleteAppointment"
InsertMethod="InsertAppointment" SelectMethod="AllData" TypeName="AppointmentList"
UpdateMethod="UpdateAppointment">
<DeleteParameters>
<asp:Parameter Name="ID" Type="String" />
</DeleteParameters>
<InsertParameters>
<asp:Parameter Name="Subject" Type="String" />
<asp:Parameter Name="AppointmentColor" Type="String" />
<asp:Parameter Name="Start" Type="DateTime" />
<asp:Parameter Name="End" Type="DateTime" />
<asp:Parameter Name="Reminder" Type="String" />
<asp:Parameter Name="UserID" Type="Int32" />
<asp:Parameter Name="TimeZoneID" Type="String" />
<asp:Parameter Name="RecurrenceRule" Type="String" />
<asp:Parameter Name="RecurrenceParentID" Type="String" />
</InsertParameters>
<UpdateParameters>
<asp:Parameter Name="ID" Type="String" />
<asp:Parameter Name="Subject" Type="String" />
<asp:Parameter Name="AppointmentColor" Type="String" />
<asp:Parameter Name="Start" Type="DateTime" />
<asp:Parameter Name="End" Type="DateTime" />
<asp:Parameter Name="RecurrenceRule" Type="String" />
<asp:Parameter Name="RecurrenceParentID" Type="String" />
<asp:Parameter Name="TimeZoneID" Type="String" />
<asp:Parameter Name="Reminder" Type="String" />
<asp:Parameter Name="UserID" Type="Int32" />
</UpdateParameters>
</asp:ObjectDataSource>
</div>
</form>
</body>
</html>
<telerik:RadComboBox ID="Regione" Runat="server" CollapseDelay="100" EnableLoadOnDemand="True" HighlightTemplatedItems="True" IsCaseSensitive="True" LoadingMessage="Caricamento..." DropDownWidth="160px" Filter="StartsWith" Width="160px" MaxHeight="175px" ShowMoreResultsBox="True" Height="175px" AutoPostBack="True"></telerik:RadComboBox><telerik:RadComboBox ID="Provincia" Runat="server" CollapseDelay="100" DropDownWidth="170px" EnableLoadOnDemand="True" Filter="StartsWith" HighlightTemplatedItems="True" IsCaseSensitive="True" LoadingMessage="Caricamento..." MaxHeight="175px" ShowMoreResultsBox="True" Width="170px" Height="175px" EmptyMessage="Scegli la regione"></telerik:RadComboBox>
Private Const ItemsRegion As Integer = 11 Private Const ItemsProvincs As Integer = 10 Private idregione As Integer = 0Protected Sub Region_ItemsRequested(sender As Object, e As Telerik.Web.UI.RadComboBoxItemsRequestedEventArgs) Handles Region.ItemsRequested Dim data As DataTable = GetDataRegion(e.Text) Dim itemOffset As Integer = e.NumberOfItems Dim endOffset As Integer = Math.Min(itemOffset + ItemsRegion, data.Rows.Count) e.EndOfItems = endOffset = data.Rows.Count For i As Integer = itemOffset To endOffset - 1 Region.Items.Add(New RadComboBoxItem(data.Rows(i)("descrizione").ToString(), data.Rows(i)("id").ToString())) Next e.Message = GetStatusMessageRegion(endOffset, data.Rows.Count) End Sub Private Shared Function GetDataRegion(text As String) As DataTable Dim sqlSelectCommand As String = "SELECT [id], [descrizione] from [tab_regioni] WHERE [descrizione] LIKE @desc + '%' Order By [descrizione]" Dim adapter As New SqlDataAdapter(sqlSelectCommand, ConfigurationManager.ConnectionStrings("TrycontactString").ConnectionString) adapter.SelectCommand.Parameters.AddWithValue("@desc", text) Dim data As New DataTable() adapter.Fill(data) Return data End Function Private Shared Function GetStatusMessageRegion(offset As Integer, total As Integer) As String If total <= 0 Then Return "Regione non trovata" End If Return [String].Format("Lista: <b>1</b>-<b>{0}</b> di <b>{1}</b>", offset, total) End Function Protected Sub Provincs_ItemsRequested(sender As Object, e As Telerik.Web.UI.RadComboBoxItemsRequestedEventArgs) Handles Provincs.ItemsRequested Dim data As DataTable = GetDataProvincs(e.Text, idregione) Dim itemOffset As Integer = e.NumberOfItems Dim endOffset As Integer = Math.Min(itemOffset + ItemsProvincs, data.Rows.Count) e.EndOfItems = endOffset = data.Rows.Count For i As Integer = itemOffset To endOffset - 1 Provincs.Items.Add(New RadComboBoxItem(data.Rows(i)("descrizione").ToString(), data.Rows(i)("id").ToString())) Next e.Message = GetStatusMessageProvincs(endOffset, data.Rows.Count) End Sub Private Shared Function GetDataProvincs(text As String, id As Int32) As DataTable Dim sqlSelectCommand As String = "SELECT [id], [idregione], [descrizione] from [tab_province] WHERE [idregione]=@idregione and [descrizione] LIKE @desc + '%' Order By [descrizione]" Dim adapter As New SqlDataAdapter(sqlSelectCommand, ConfigurationManager.ConnectionStrings("TrycontactString").ConnectionString) adapter.SelectCommand.Parameters.AddWithValue("@desc", text) adapter.SelectCommand.Parameters.AddWithValue("@idregione", id) Dim data As New DataTable() adapter.Fill(data) Return data End Function Private Shared Function GetStatusMessageProvincs(offset As Integer, total As Integer) As String If total <= 0 Then Return "Provincia non trovata" End If Return [String].Format("Lista: <b>1</b>-<b>{0}</b> di <b>{1}</b>", offset, total) End Function