Telerik Forums
UI for ASP.NET AJAX Forum
2 answers
186 views
Hello Telerik team,
I have a little problem synchronizing a RadGrid and a RadScheduler control. In my project I use a RadScheduler control and a RadGrid control. There the RadGrid control contains all appointments in a list form (only with fields Start, End and Subject) which are displayed in the selected view of the scheduler control.

To use Ajax, both, the RadScheduler and the RadGrid control are inside AjaxSettings.

I'm using an own SchedulerProviderClass and in the code behind the right event handler (OnNeedDataSource and OnNavigationComplete).

My problem is now the following:

If I use the navigation controls of the RadScheduler control the events are fired in the follwowing order:

1. OnNeedDataSource of the RadGrid control will be called
2. OnNavigationComplete of the RadScheduler controll will be called
3. OnDataBound of the RadScheduler control will be called

somtimes (e.g. when changing the view type) the event order is like this:

1. OnNeedDataSource of the RadGrid control will be called
2. OnDataBound of the RadScheduler control will be called
3. OnNavigationComplete of the RadScheduler controll will be called
4. OnDataBound of the RadScheduler control will be called

This order causes me some problems because in the OnNeedDataSource handler I load all appointments from the database DEPENDING on the selected view type AND the selected date of the RadScheduler control.

But since the OnNeedDataSource event is called BEFORE the OnNavigationComplete event, my data in the RadGrid control will be wrong. For example if I navigate one day forward in the DayView, OnNeedDataSource will be called and the SelectedDate of the RadScheduler contains the current day, NOT the next day.

Is there a way, to set the order of the events?

To get for sure that the OnNeedDataSource event will be raised AFTER the OnNavigationComplete event?

Yours sincerely,
Richard Huber-
Richard
Top achievements
Rank 1
 answered on 22 Mar 2012
3 answers
368 views
Hi,
I have a radcombobox with OnClientKeyPressing event.User should not enter any special characters.How can i block this.I have used "OnClientKeyPressing " for validating for special characters.This is the JavaScript code
function OnClientKeyPressing() {
            var evtobj = window.event ? event : e
            if ((evtobj.shiftKey) && ((evtobj.keyCode == 188) || (evtobj.keyCode == 190))) {
                alert("Special characters not allowed");
                evtobj.keyCode = 0;
                evtobj.returnValue = false;
                return false;
            }
        }
Eg:-If the user type "vis<" then "<" it should not come.The value should be "vis" instead of "vis<".How can i avoid this.And data should come starting with "vis"
Princy
Top achievements
Rank 2
 answered on 22 Mar 2012
3 answers
294 views
I'm working with the RadFileExplorer, and the ViewPath is configured in the C#;

My goal is to sort the items in the RadFileExplorer by name and date, such as

CD 3-1

CD 3-2

CD 3-14

CD 3-18

CD 3-24

Rather than the default behavior of

 

CD 3-1

CD 3-14

CD 3-18

CD 3-2

CD 3-24

using (SqlConnection connection = new SqlConnection(newConnect))
                        {
                            // Create the Command and Parameter objects;
                            SqlCommand command = new SqlCommand(queryString, connection);
  
                            // Open the connection in a try/catch block; 
                            // Create and execute the DataReader; 
                            try
                            {
                                connection.Open();
                                SqlDataReader reader = command.ExecuteReader();
                                  
                                while (reader.Read())
                                {                                   
                                    UsernameDB = (reader[1]).ToString();
  
                                    listViewPaths.Add(reader.GetString(3));
                                    listUploadDeletePaths.Add(reader.GetString(4));
  
                                    WebPageTitle = (reader[5]).ToString();
                                }
                                reader.Close();
                            }
                            catch (Exception ex)
                            {
  
                            }
                        }
  
 RadFileExplorer1.Configuration.ViewPaths = listViewPaths.ToArray();

 

Dobromir
Telerik team
 answered on 22 Mar 2012
5 answers
155 views
I have an orgchart inside of a content place holder for a page with a master page:

<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
    <telerik:RadOrgChart ID="RadOrgChart1" runat="server" EnableCollapsing="true" EnableDragAndDrop="true">
    </telerik:RadOrgChart>
</asp:Content>

The data I'm using to populate the orgchart is coming from a web service - so on page load I attach the nodedrop event handler, grab the resource data which I then translate into a data table, then I do my data binding:

protected void Page_Load(object sender, EventArgs e)
    {
        RadOrgChart1.NodeDrop += RadOrgChart1_NodeDrop;
        GetResources();
        LoadEmployees();
 
        RadOrgChart1.RenderedFields.ItemFields.Add(new Telerik.Web.UI.OrgChartRenderedField() { DataField = "Position" });
 
        RadOrgChart1.DataSource = employees;
        RadOrgChart1.DataFieldID = "EmployeeID";
        RadOrgChart1.DataFieldParentID = "ReportsTo";
        RadOrgChart1.DataTextField = "FullName";
        RadOrgChart1.DataImageUrlField = "ImageUrl";
        RadOrgChart1.DataBind();
    }

The orgchart loads as expected and looks great.  When I drag and drop an item and set up break points, the page load events are hit but not the nodedrop events.  I'm not sure if there is something special I have to deal with due to the master page or if I'm just missing something basic in the page life cycle.  The way I'm looking at this I'm essentially doing it exactly as the demo suggests:  http://demos.telerik.com/aspnet-ajax/orgchart/examples/draganddropsimplebinding/defaultcs.aspx 

One additional piece of information is that the script manager is located on the master page - not sure why that should cause a problem.
Ahmad
Top achievements
Rank 1
 answered on 22 Mar 2012
8 answers
257 views
Hi and thank you for reading.

When I attempt an insert with the following, it enters the function correctly, but the KeyValues property is always empty and, thus, it never enters the loop over the dictionary from ExtractValuesFromItem. As a result, it inserted a new blank row.
It also may be relevant to mention that this page has two RadGrid instances, including this one, but they're operating on separate data sources with separate scripting. The other RadGrid works fine with similar code, however I'm not allowing inserts on that one.
I would appreciate any advice or suggestions.

ASP.Net:
<telerik:RadScriptBlock runat="server" ID="nono">
            <telerik:RadGrid runat="server" ID="gridBids" OnNeedDataSource="gridBids_NeedDataSource" OnItemDataBound="gridBids_DataBound" OnUpdateCommand="gridBids_Update"
                OnInsertCommand="gridBids_Insert" OnDeleteCommand="gridBids_Delete" AutoGenerateColumns="false" Skin="Office2007" EnableAJAXLoadingTemplate="true" EnableAJAX="true"
                LoadingTemplateTransparency="25" ValidationSettings-CommandsToValidate="update,insert" ValidationSettings-ValidationGroup="gridBids">
                <MasterTableView EditMode="InPlace" CommandItemDisplay="Top" AllowAutomaticDeletes="false" AllowAutomaticInserts="false" AllowAutomaticUpdates="false" DataKeyNames="blockbidsegmentid">
                    <CommandItemSettings ShowExportToExcelButton="true" ShowAddNewRecordButton="true" />
                    <Columns>
                        <telerik:GridEditCommandColumn />
                        <telerik:GridTemplateColumn HeaderText="Carrier" UniqueName="bidCarrier">
                            <ItemTemplate><%# Eval("carrier") %></ItemTemplate>
                            <EditItemTemplate>
                                <telerik:RadTextBox runat="server" ID="txtBidCarrier" MaxLength="2" Width="40px" Text='<%# Eval("carrier") %>' />
                            </EditItemTemplate>
                            <InsertItemTemplate>
                                <telerik:RadTextBox runat="server" ID="txtBidCarrier" MaxLength="2" Width="40px" />
                            </InsertItemTemplate>
                        </telerik:GridTemplateColumn>
                        <telerik:GridTemplateColumn HeaderText="Flight#" UniqueName="bidFlightNum">
                            <ItemTemplate><%# Eval("flightnum") %></ItemTemplate>
                            <EditItemTemplate>
                                <telerik:RadTextBox runat="server" ID="txtBidFlightNum" MaxLength="4" Width="75px" Text='<%# Eval("flightnum") %>' />
                            </EditItemTemplate>
                            <InsertItemTemplate>
                                <telerik:RadTextBox runat="server" ID="txtBidFlightNum" MaxLength="4" Width="75px" />
                            </InsertItemTemplate>
                        </telerik:GridTemplateColumn>
                        <telerik:GridTemplateColumn HeaderText="From" UniqueName="bidFrom">
                            <ItemTemplate><%# Eval("fromairportcode") %></ItemTemplate>
                            <EditItemTemplate>
                                <telerik:RadTextBox runat="server" ID="txtBidFrom" Width="60px" MaxLength="3" Text='<%# Eval("fromairportcode") %>' />
                            </EditItemTemplate>
                            <InsertItemTemplate>
                                <telerik:RadTextBox runat="server" ID="txtBidFrom" Width="60px" MaxLength="3" />
                            </InsertItemTemplate>
                        </telerik:GridTemplateColumn>
                        <telerik:GridTemplateColumn HeaderText="To" UniqueName="bidTo">
                            <ItemTemplate><%# Eval("toairportcode") %></ItemTemplate>
                            <EditItemTemplate>
                                <telerik:RadTextBox runat="server" ID="txtBidTo" Width="60px" MaxLength="3" Text='<%# Eval("toairportcode") %>' />
                            </EditItemTemplate>
                            <InsertItemTemplate>
                                <telerik:RadTextBox runat="server" ID="txtBidTo" Width="60px" MaxLength="3" />
                            </InsertItemTemplate>
                        </telerik:GridTemplateColumn>
                        <telerik:GridTemplateColumn HeaderText="COS" UniqueName="bidCOS">
                            <ItemTemplate><%# Eval("cos") %></ItemTemplate>
                            <EditItemTemplate>
                                <telerik:RadTextBox runat="server" ID="txtBidCOS" Width="40px" MaxLength="1" Text='<%# Eval("cos") %>' />
                            </EditItemTemplate>
                            <InsertItemTemplate>
                                <telerik:RadTextBox runat="server" ID="txtBidCOS" Width="40px" MaxLength="1" />
                            </InsertItemTemplate>
                        </telerik:GridTemplateColumn>
                        <telerik:GridTemplateColumn HeaderText="Depart Time" UniqueName="bidDepartTime">
                            <ItemTemplate><%# (Eval("departtime").ToString().Length > 0) ? DateTime.Parse(Eval("departtime").ToString()).ToString("ddMMMyy HH:mm") : "" %></ItemTemplate>
                            <EditItemTemplate>
                                <telerik:RadDatePicker runat="server" ID="txtBidDepartDate" Width="90px" DateInput-DateFormat="ddMMMyy"
                                    SelectedDate='<%# (Eval("departtime").ToString().Length > 0) ? DateTime.Parse(Eval("departtime").ToString()) : DateTime.Now %>' />
                                <telerik:RadMaskedTextBox runat="server" ID="txtBidDepartTime" Width="45px" Mask="##:##" Style="text-align:center;"
                                    Text='<%# (Eval("departtime").ToString().Length > 0) ? DateTime.Parse(Eval("departtime").ToString()).ToString("HH:mm") : "" %>' />
                            </EditItemTemplate>
                            <InsertItemTemplate>
                                <telerik:RadDatePicker runat="server" ID="txtBidDepartDate" Width="90px" DateInput-DateFormat="ddMMMyy" />
                                <telerik:RadMaskedTextBox runat="server" ID="txtBidDepartTime" Width="45px" Mask="##:##" Style="text-align:center;" />
                            </InsertItemTemplate>
                        </telerik:GridTemplateColumn>
                        <telerik:GridTemplateColumn HeaderText="Arrive Time" UniqueName="bidArriveTime">
                            <ItemTemplate><%# (Eval("arrivetime").ToString().Length > 0) ? DateTime.Parse(Eval("arrivetime").ToString()).ToString("ddMMMyy HH:mm") : "" %></ItemTemplate>
                            <EditItemTemplate>
                                <telerik:RadDatePicker runat="server" ID="txtBidArriveDate" Width="90px" DateInput-DateFormat="ddMMMyy"
                                    SelectedDate='<%# (Eval("arrivetime").ToString().Length > 0) ? DateTime.Parse(Eval("arrivetime").ToString()) : DateTime.Now %>' />
                                <telerik:RadMaskedTextBox runat="server" ID="txtBidArriveTime" Width="45px" Mask="##:##" Style="text-align:center;"
                                    Text='<%# (Eval("arrivetime").ToString().Length > 0) ? DateTime.Parse(Eval("arrivetime").ToString()).ToString("HH:mm") : "" %>' />
                            </EditItemTemplate>
                            <InsertItemTemplate>
                                <telerik:RadDatePicker runat="server" ID="txtBidArriveDate" Width="90px" DateInput-DateFormat="ddMMMyy" />
                                <telerik:RadMaskedTextBox runat="server" ID="txtBidArriveTime" Width="45px" Mask="##:##" Style="text-align:center;" />
                            </InsertItemTemplate>
                        </telerik:GridTemplateColumn>
                        <telerik:GridTemplateColumn HeaderText="Base Fare" UniqueName="bidBaseFare">
                            <ItemTemplate><%# String.Format("{0:C}", Eval("basefare")) %></ItemTemplate>
                            <EditItemTemplate>
                                <telerik:RadNumericTextBox runat="server" ID="txtBidBaseFare" Type="Currency" Width="90px" Style="text-align:right;"
                                    Value='<%# (Eval("basefare").ToString().Length > 0) ? Decimal.Parse(Eval("basefare").ToString()) : Decimal.Parse("0.00") %>' />
                            </EditItemTemplate>
                            <InsertItemTemplate>
                                <telerik:RadNumericTextBox runat="server" ID="txtBidBaseFare" Type="Currency" Width="90px" Style="text-align:right;" />
                            </InsertItemTemplate>
                        </telerik:GridTemplateColumn>
                        <telerik:GridTemplateColumn HeaderText="Notes" UniqueName="bidNotes">
                            <ItemTemplate>
                                <input type="button" name="btnShowBidNotes" value="Show All Notes" onClick="showAllNotes('<%# FormatNotes(Eval("notes"),true) %>');" />
                                <%# FormatNotes(Eval("notes"),false) %>
                            </ItemTemplate>
                            <EditItemTemplate>
                                <telerik:RadTextBox runat="server" ID="txtBidNotes" Rows="5" Columns="60" TextMode="MultiLine" Font-Size="Smaller" />
                            </EditItemTemplate>
                            <InsertItemTemplate>
                                <telerik:RadTextBox runat="server" ID="txtBidNotes" Rows="5" Columns="60" TextMode="MultiLine" Font-Size="Smaller" />
                            </InsertItemTemplate>
                        </telerik:GridTemplateColumn>
                    </Columns>
                </MasterTableView>
            </telerik:RadGrid>
            </telerik:RadScriptBlock>

C#:
protected void gridBids_NeedDataSource(object sender, EventArgs ev)
    {
        this.gridBids.DataSource = this.bidsTable;
    }
 
    protected void gridBids_DataBound(object source, Telerik.Web.UI.GridItemEventArgs ev)
    {
         
    }
 
    protected void gridBids_Command(object source, Telerik.Web.UI.GridCommandEventArgs ev)
    {
 
    }
 
    protected void gridBids_Insert(object sender, GridCommandEventArgs ev)
    {
        if (!(ev.Item is GridEditableItem) || !ev.Item.IsInEditMode) return;
 
        DataRow row = this.bidsTable.NewRow();
        GridEditableItem insertedItem = ev.Item.OwnerTableView.GetInsertItem();
 
        if (this.m_editing) row["blockbidsegmentid"] = 0;
        else
        {
            DataRow[] currentRows = this.bidsTable.Select("", "blockbidsegmentid");
 
            if (currentRows.Length > 0) row["blockbidsegmentid"] = ((int)currentRows[currentRows.Length - 1]["blockbidsegmentid"]) + 1;
            else row["blockbidsegmentid"] = 0;
        }
 
        Hashtable newValues = new Hashtable();
        insertedItem.OwnerTableView.ExtractValuesFromItem(newValues, insertedItem);
 
        try
        {
            foreach (DictionaryEntry entry in newValues)
            {
                object val = entry.Value;
                string key = (string)entry.Key;
 
                string dbField = this.bidCols[Array.IndexOf(this.bidGridCols, key)];
                if (dbField.Length == 0) continue;
 
                if (key == "bidCarrier" || key == "bidFrom" || key == "bidTo" || key == "bidCOS") val = val.ToString().ToUpper();
                else if (key == "bidDepartTime")
                {
                    TimeSpan departts = new TimeSpan(Int32.Parse((((RadMaskedTextBox)insertedItem["bidDepartTime"].FindControl("txtBidDepartTime")).Text).Substring(0, 2)), Int32.Parse((((RadMaskedTextBox)insertedItem["bidDepartTime"].FindControl("txtBidDepartTime")).Text).Substring(3)), 0);
                    val = ((DateTime)((RadDatePicker)insertedItem["bidDepartTime"].FindControl("txtBidDepartDate")).SelectedDate).Date + departts;
                }
                else if (key == "bidArriveTime")
                {
                    TimeSpan arrivets = new TimeSpan(Int32.Parse((((RadMaskedTextBox)insertedItem["bidArriveTime"].FindControl("txtBidArriveTime")).Text).Substring(0, 2)), Int32.Parse((((RadMaskedTextBox)insertedItem["bidArriveTime"].FindControl("txtBidArriveTime")).Text).Substring(3)), 0);
                    val = ((DateTime)((RadDatePicker)insertedItem["bidArriveTime"].FindControl("txtBidArriveDate")).SelectedDate).Date + arrivets;
                }
 
                row[dbField] = val;
            }
 
            this.bidsTable.Rows.Add(row);
 
            this.gridBids.Rebind();
        }
        catch (Exception ex)
        {
            gridBids.Controls.Add(new LiteralControl("Unable to insert record. Reason: " + ex.Message));
            ev.Canceled = true;
        }
    }

Thank you in advance.
Tsvetina
Telerik team
 answered on 22 Mar 2012
7 answers
157 views

I have radscheduler in readonly mode. Its appointments to be displayed are depend upon some criteria so I am checking condition on its page load event and accordingly setting select command of radscheduler's data source. By default Day mode is selected for radscheduler. but when I am clicking month view and inside it when clicking perticular date the following error occurs

Invalid slot index: 18

the number 18 changes when clicking different date.

I am using asp.net Ajax radscheduler.

Please help me it is very urgent.
Peter
Telerik team
 answered on 22 Mar 2012
2 answers
445 views
Hi Support
I'm using Telerik Rad Tree View for one of my asp.net application, my requirement is that :
 
There a Refresh Button in my telerik radpane container  .
User click on the nodes of tree view and different pages are open for that .
After they click on refresh button ( note : refresh button click because user can right click on any child node and create new node after that) I want to show user the last node where user was there (means from parent node to child node should remain expanded but other nodes that user did not click should closed, if click then expanded )  before click on refresh button .

How Can I do that , pl any suggestion
DEBAL
Top achievements
Rank 1
 answered on 22 Mar 2012
1 answer
396 views

Hi ,
i have a datagrid within an editform template . With the JavaScript function document.getElementById i can't access to form controls, may be because this id is generated automatically and is different for the id specified in a template .
There are ways to this access realization?

Thanks’ for reply

Shinu
Top achievements
Rank 2
 answered on 22 Mar 2012
1 answer
153 views
A few weeks ago, I decided to try RadCompression on my website, and followed the instructions here. It seemed to work fine in FireFox (which I use for development), but when we finally got around to cross-browser testing, found that several pages started getting an exception in System.Web.UI.Page.RegisterRequiresControlState(), for example:
[InvalidCastException: Unable to cast object of type 'System.String' to type 'System.Collections.IDictionary'.]
   System.Web.UI.Page.RegisterRequiresControlState(Control control) +104
   System.Web.UI.WebControls.PasswordRecovery.OnInit(EventArgs e) +32
   System.Web.UI.Control.InitRecursive(Control namingContainer) +333
   System.Web.UI.Control.InitRecursive(Control namingContainer) +210
   System.Web.UI.Control.AddedControl(Control control, Int32 index) +198
   System.Web.UI.ControlCollection.Add(Control child) +80
   System.Web.UI.WebControls.Login.CreateChildControls() +175
   System.Web.UI.Control.EnsureChildControls() +87
   System.Web.UI.Control.FindControl(String id, Int32 pathOffset) +23
   System.Web.UI.Control.FindControl(String id, Int32 pathOffset) +327
   System.Web.UI.Control.FindControl(String id, Int32 pathOffset) +327
   System.Web.UI.Control.FindControl(String id, Int32 pathOffset) +327
   System.Web.UI.Control.FindControl(String id, Int32 pathOffset) +327
   System.Web.UI.Control.FindControl(String id, Int32 pathOffset) +327
   System.Web.UI.Page.FindControl(String id) +38
   System.Web.UI.Page.ProcessPostData(NameValueCollection postData, Boolean fBeforeLoad) +232
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1743

In debugging the issue, I found that
1. It only seems to affect Chrome browser
2. Removing RadCompression stopped the error
3. Keeping RadCompression but changing the browser controlAdapter from RadSessionPageStateCompression to RadHiddenFieldPageStateCompression stopped the error

Is there any reason why this would happen only in Chrome? Is there something else I need to use RadSessionPageStateCompression?

Thanks for any info

[Edit: I'm using v2011.1.519.35]

Ross Crawford
Martin
Telerik team
 answered on 22 Mar 2012
2 answers
58 views
hi,

im using one of the sample application in your link. its working fine in mozilla , ie 7 & 8. the thing is that it shows some script error when im trying to run in ie9.

while clicking the button to open the window it shows error like "Microsoft JScript runtime error: DOM Exception: INVALID_CHARACTER_ERR (5)".

im using telerik 2008 version, the thing is it was mandatory for me to use 2008 version. was there any other way to fix this issue.
Vino
Top achievements
Rank 1
 answered on 22 Mar 2012
Narrow your results
Selected tags
Tags
+? more
Top users last month
Hiba
Top achievements
Rank 1
Iron
Iron
Rob
Top achievements
Rank 3
Bronze
Bronze
Iron
Max
Top achievements
Rank 1
Veteran
Iron
Alina
Top achievements
Rank 1
Rakhee
Top achievements
Rank 1
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Hiba
Top achievements
Rank 1
Iron
Iron
Rob
Top achievements
Rank 3
Bronze
Bronze
Iron
Max
Top achievements
Rank 1
Veteran
Iron
Alina
Top achievements
Rank 1
Rakhee
Top achievements
Rank 1
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?