Possible to capture Resource selection to Subject?

4 posts, 0 answers
  1. Steve
    Steve avatar
    84 posts
    Member since:
    Aug 2013

    Posted 01 Sep 2013 Link to this post

    I have two resource dropdowns on my scheduler, when the user adds or modifies a schedule. There is the room as one resource, and the teacher as a second resource. How can I capture the teacher name selected from the teacher resource and populate the Subject box during selection time? This would happen client side I presume. I'm just not good at javascript, so have no clue how to do it.
  2. Boyan Dimitrov
    Admin
    Boyan Dimitrov avatar
    1746 posts

    Posted 05 Sep 2013 Link to this post

    Hello,

    Please use the following code snippet in order to achieve the desired scenario. Please note that for sample purposes I am using resource called "User" but in your case it would be "Teacher".
    //markup code

    <telerik:RadScheduler runat="server" ID="RadScheduler1" ....  OnFormCreated="RadScheduler1_FormCreated">
        <ResourceTypes>
            <telerik:ResourceType DataSourceID="SqlDataSource2" ForeignKeyField="UserID" Name="User" TextField="UserName" />
        </ResourceTypes>
    </telerik:RadScheduler>

    //code behind
    protected void RadScheduler1_FormCreated(object sender, SchedulerFormCreatedEventArgs e)
        {
     
            if ((e.Container.Mode == SchedulerFormMode.AdvancedEdit) || (e.Container.Mode == SchedulerFormMode.AdvancedInsert))
            {
                //finds the RadComboBox representing the user resource ( in your case it would be ResTeacher)
                RadComboBox userResource = e.Container.FindControl("ResUser") as RadComboBox;
                //this line of code will subscribe for the the client-side event fired when user selects a new value from the RadComboBox control
                userResource.OnClientSelectedIndexChanging = "OnClientSelectedIndexChanging";
            }
        }

    //JavaScript

    function OnClientSelectedIndexChanging(sender, args) {        
        var $ = $telerik.$;
        //retrieves the subject field as jQuery object
        var subjectField = $("[id$='Subject']");
        //this is the value of the selected item from the RadComboBox
        var selectedUserName = args.get_item().get_text();
        //changes the subject text box to the selected item text value
        subjectField.val(selectedUserName);
    }

    Please find here more information about accessing different elements within the advanced form and how you can manipulate them.

    Hope that this helps.

    Regards,
    Boyan Dimitrov
    Telerik
    If you want to get updates on new releases, tips and tricks and sneak peeks at our product labs directly from the developers working on the RadControls for ASP.NET AJAX, subscribe to the blog feed now.
  3. UI for ASP.NET Ajax is Ready for VS 2017
  4. Steve
    Steve avatar
    84 posts
    Member since:
    Aug 2013

    Posted 07 Sep 2013 Link to this post

    Thanks for the code. It only partially worked for me. It populated the subject line, but it wouldn't close the form.
    I select a teacher, and it populates the subject. I click the save button and all the form elements clear out, and the start and end time are set to the current date and time. The form doesn't close. I have to click the cancel button to get the form to close. I looked in the database and the subject is populated with the teacher name, so I know it's working otherwise.
  5. Boyan Dimitrov
    Admin
    Boyan Dimitrov avatar
    1746 posts

    Posted 12 Sep 2013 Link to this post

    Hello,

    I am afraid that I am not able to replicate the described behavior at my side.
    A possible reason for such behavior might be a JavaScript error preventing the RadScheduler from behaving as expected when appointment is updated. Could you please inspect the application behavior when appointment is being saved with any browsers developer tools and provide the JavaScript error if any? Could you please clarify whether you have implemented any custom logic to handle the form creation or appointment update?


    Regards,
    Boyan Dimitrov
    Telerik
    If you want to get updates on new releases, tips and tricks and sneak peeks at our product labs directly from the developers working on the RadControls for ASP.NET AJAX, subscribe to the blog feed now.
Back to Top