Creating a custom view with templates not listed in the docs

3 posts, 0 answers
  1. George
    George avatar
    58 posts
    Member since:
    Apr 2014

    Posted 24 Jun 2015 Link to this post

    I'm trying to create a custom column with the scheduler, but I always get redirected to a sample mvc program that just modifies the events template

     I need to actually make a new column, not change the color of it.

     The only templates I see listed in the docs are event templates.  I need the schedule header.  I want to display

    <td>Monday</td><td>MyColumn1</td><td>MyColumn2</td><td>Tuesday</td>....

     The dataHeaderTemplate only lets me change whats inside of Monday.

     So my questions are, where are the lists of these templates and how do I get the default values so I can change them and create a new custom view.

    This is the closest thing I've seen:

    http://dojo.telerik.com/@diondirza/EbEBa

    they're doing the following below.  But how I get the default value for schedulerHeader and add change it for my customer view.

    function onDataBound(e) {
      var scheduler = e.sender,
          schedulerHeader = scheduler.element.find(".k-scheduler-header table tbody tr"),
          datas = scheduler.dataSource.data();
       
      // add custom column header, do more append for more column
      schedulerHeader.append("<th>Rating</th>");
      schedulerHeader.append("<th>Time</th>");
       
      // add custom column for each data
      datas.forEach(function(data){
        var uid = data.uid,
            timeData = kendo.toString(data.start, "hh:mm") + " - " + kendo.toString(data.end, "hh:mm");
         
        $(".k-task[data-uid='"+ uid +"']").parent()
            .after("<td>" + timeData + "</td>")
            .after("<td><em>no rating yet</em></td>");
      });
    }

     

  2. George
    George avatar
    58 posts
    Member since:
    Apr 2014

    Posted 25 Jun 2015 in reply to George Link to this post

    Some one was able to create a dojo that is in the direction on how i would like to make a custom view:

    http://dojo.telerik.com/@diondirza/EbEBa/4

     

    Is this an okay way to do things? Will it break any of the scheduler features like drag and drop? Will this also work for future builds of the scheduler?

  3. Georgi Krustev
    Admin
    Georgi Krustev avatar
    3747 posts

    Posted 26 Jun 2015 Link to this post

    Hello George,

    In general, the best way would be to create a custom view. In this case, you will get full control over rendering and will be able to implement your custom logic. I posted a demo, which shows how to extend views in the other forum thread opened on the same subject:
    With regards to the shared Dojo demo, it modifies the rendered view on every dataBound, which will be raised many times (for instance on page resize). Also this approach breaks the view layout, because the inserted elements are not calculated within the view itself. I would also consider that the event resizing will not work as expected too.

    I would suggest you create a custom view instead of modifying the already rendered view. It is safer and you will be of a full control over the functionality you are pursuing. 

    Regards,
    Georgi Krustev
    Telerik
     
    Join us on our journey to create the world's most complete HTML 5 UI Framework - download Kendo UI now!
     
Back to Top