Binding XML File to A RadSchedular

10 posts, 0 answers
  1. Vuyiswa Maseko
    Vuyiswa Maseko avatar
    187 posts
    Member since:
    Jan 2010

    Posted 06 Jul 2010 Link to this post

    Good Day

    I have a radSchedular that is Defined like this

      
         
            <telerik:RadScheduler ID="RadScheduler1" runat="server" Height="388px" TimeZoneOffset="03:00:00" 
                SelectedDate="2007-03-30" DayStartTime="08:00:00" DayEndTime="18:00:00" 
                OnDataBound="RadScheduler1_DataBound" 
                Skin="Vista" Width="1006px" DataEndField="ENDDATE" DataKeyField="ID"  
                DataSourceID="XmlDataSource1" DataStartField="STARTDATE"  
                DataSubjectField="SUBJECTS"
            </telerik:RadScheduler> 
         
      
            <asp:XmlDataSource ID="XmlDataSource1" runat="server"  
                DataFile="~/App_Data/TimeTable.xml"></asp:XmlDataSource> 
         


    and my XML nodes looks like this

    <Root> 
      <Datarow> 
        <ID>1</ID> 
        <DY>25</DY> 
        <SESS>2</SESS> 
        <CODE>CMH10431</CODE> 
        <DESCRIPTION>CMH10431</DESCRIPTION> 
        <ABREV>P</ABREV> 
        <TYPE>P</TYPE> 
        <NUMBER>1</NUMBER> 
        <GRPNAME>V0022012</GRPNAME> 
        <GRPNUMBER>1</GRPNUMBER> 
        <DURATION>1</DURATION> 
        <STUDENTS>1</STUDENTS> 
        <VENUE>V0022012</VENUE> 
        <CAPACITY>50</CAPACITY> 
        <MODLID>641</MODLID> 
        <TERM>Oct2008</TERM> 
        <STAFFTERM>Oct2008</STAFFTERM> 
        <STARTDATE>2008-10-30T17:00:00</STARTDATE> 
        <ENDDATE>2008-10-30T17:00:00</ENDDATE> 
        <LENGTH>180</LENGTH> 
      </Datarow> 
      <Datarow> 
        <ID>2</ID> 
        <DY>1</DY> 
        <SESS>1</SESS> 
        <CODE>PVL101Q1</CODE> 
        <DESCRIPTION>PVL101Q1</DESCRIPTION> 
        <ABREV>P</ABREV> 
        <TYPE>P</TYPE> 
        <NUMBER>1</NUMBER> 
        <GRPNAME>V0022012</GRPNAME> 
        <GRPNUMBER>1</GRPNUMBER> 
        <DURATION>1</DURATION> 
        <STUDENTS>4</STUDENTS> 
        <VENUE>V0022012</VENUE> 
        <CAPACITY>50</CAPACITY> 
        <MODLID>2634</MODLID> 
        <TERM>Oct2008</TERM> 
        <STAFFTERM>Oct2008</STAFFTERM> 
        <STARTDATE>2008-10-06T08:00:00</STARTDATE> 
        <ENDDATE>2008-10-06T08:00:00</ENDDATE> 
        <LENGTH>180</LENGTH> 
      </Datarow> 
    </Root> 




    and when i run my test app , i get an Error

    DataBinding: 'System.Web.UI.WebControls.XmlDataSourceNodeDescriptor' does not contain a property with the name 'ID'.


    Thanks
  2. Peter
    Admin
    Peter avatar
    6637 posts

    Posted 07 Jul 2010 Link to this post

    Hello Vuyiswa,

    You can use the XML provider demo. The XmlSchedulerProvider will automatically take care of inserting, deleting and updating an appointment. If you want to pesist the changes to your xml file, set the second parameter of the constructor to true:

    * * *
    provider = new XmlSchedulerProvider(Server.MapPath("~/App_Data/Appointments.xml"), true); 
    * * *



    All the best,
    Peter
    the Telerik team
    Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items
  3. UI for ASP.NET Ajax is Ready for VS 2017
  4. Vuyiswa Maseko
    Vuyiswa Maseko avatar
    187 posts
    Member since:
    Jan 2010

    Posted 08 Jul 2010 Link to this post

    Hi Admin

    i have removed the data-source on the markup and i do the code behind binding as below

     
        protected void Page_Init(object sender, EventArgs e) 
              { 
                  XmlSchedulerProvider provider; 
     
                  if ((Session["ProviderSessionKey"] == null) || (!IsPostBack)) 
                  { 
                      provider = new XmlSchedulerProvider(Server.MapPath("~/App_Data/TimeTable.xml"), true); 
     
                      Session["ProviderSessionKey"] = provider; 
                  } 
                  else 
                  { 
                      provider = (XmlSchedulerProvider)Session["ProviderSessionKey"]; 
                  } 
     
                  RadScheduler1.Provider = provider; 
        } 
     
    and when i run it i get

    Object reference not set to an instance of an object.


    on this line
     
         provider = new XmlSchedulerProvider(Server.MapPath("~/App_Data/TimeTable.xml"), true); 


    my app data has the xml file

    Thanks

  5. Peter
    Admin
    Peter avatar
    6637 posts

    Posted 13 Jul 2010 Link to this post

    Hello Vuyiswa,

    Please, try the following code:
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using Telerik.Web.UI;
      
    public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Init(object sender, EventArgs e)
        {
            RadScheduler1.Provider = new XmlSchedulerProvider(Server.MapPath("~/App_Data/TimeTable.xml"), true);
             
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            
        }   
    }

    Do you still get errros?

    Greetings,
    Peter
    the Telerik team
    Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items
  6. Vuyiswa Maseko
    Vuyiswa Maseko avatar
    187 posts
    Member since:
    Jan 2010

    Posted 14 Jul 2010 Link to this post

    Good Day Admin

    THanks for the Reply, i am sorry to reply so late, i was not at work yesterday. i have changed my function to look like this

    private void Bind_Viewer()
    {
        XmlSchedulerProvider provider;
        if ((Session["ProviderSessionKey"] == null) || (!IsPostBack))
        {
            //provider = new XmlSchedulerProvider(Server.MapPath("~/App_Data/TimeTable.xml"), true);
            RadScheduler1.Provider = new XmlSchedulerProvider(Server.MapPath("~/App_Data/TimeTable.xml"), true); 
           // Session["ProviderSessionKey"] = provider;
        }
        else
        {
            provider = (XmlSchedulerProvider)Session["ProviderSessionKey"];
        }
      //  RadScheduler1.Provider = provider;
    }
    and i called it like this in the Init event of the Page

    protected void Page_Init(object sender, EventArgs e)
    {
        Bind_Viewer();
    }
    and i have relialised something strange, i have used the xml provided by documentation on your website. that one is not giving me an Error , but mine is giving me an Error . The XML i copied is here http://www.telerik.com/help/aspnet-ajax/schedule_databindingimplementingaprovider.html and it works but mine gives the same Error as above..

    Thanks

  7. Peter
    Admin
    Peter avatar
    6637 posts

    Posted 14 Jul 2010 Link to this post

    Hello Vuyiswa Maseko,

    The XmlSchedulerProvider is built-in so you don't have to implement it from scratch. You can go ahead and use it right away. In the online demos we use sessions, but in your actual project you don't have to. You can leave just this line of code in your Bind_Viewer() method:

    RadScheduler1.Provider = new XmlSchedulerProvider(Server.MapPath("~/App_Data/TimeTable.xml"), true);

    I have attached a simple demo for reference.

    Greetings,
    Peter
    the Telerik team
    Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items
  8. Shaan
    Shaan avatar
    7 posts
    Member since:
    Oct 2010

    Posted 27 Oct 2010 Link to this post

    Hi, I am new to asp.net & perhaps to RadControls for ASP.NET AJAX.

    XML as DataSource is our project's main requirement, I have used XmlSchedulerProvider for displaying RadScheduler.

    Can you please provide me a Sample Application for RADScheduler using XML as DataSource regarding Insert , Update & delete Operation on XMLDataSource.

    So if it works fine this will help me to decide to use Telerik in project.
  9. Shaan
    Shaan avatar
    7 posts
    Member since:
    Oct 2010

    Posted 28 Oct 2010 Link to this post

    Thanks for the Quick reply Vuyiswa Maseko ..!!

    I followed ur First link & Implemented it.. however I faced a problem...

    There is MethodName GetAppointments(RadScheduler owner) which has a method in a "Resources" Case known as
    LoadAppointmentResources(owner, appointment, appointmentData).

    The defintion for LoadAppointmentResources method is not provided anywhere in the example.

    Can you please provide it,

    Thanks in advance..
  10. Peter
    Admin
    Peter avatar
    6637 posts

    Posted 02 Nov 2010 Link to this post

    Hi Shaan,

    The XmlSchedulerProvider is built-in and if you need to review how it is implemented, you should look in the source code of Telerik.Web.UI. 

    Alternatively, you can review the Database Provider.


    All the best,
    Peter
    the Telerik team
    Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items
Back to Top
UI for ASP.NET Ajax is Ready for VS 2017