Reporting a few bugs

22 posts, 0 answers
  1. Mathieu
    Mathieu avatar
    6 posts
    Member since:
    Aug 2011

    Posted 04 Jun 2012 Link to this post

    Hi,

    I've been using the Telerik Extensions for ASP.NET MVC for about 6 months now and I was excited to try the Kendo UI MVC Extensions. However, after trying it out for a few hours I do not think it is ready to be used for my new project, I'll stick to Telerik for a bit longer. Here are the bugs (I think they're bugs) I've found so far.

    1) Localization. I was happy to see the text localize when I switch the page's CurrentCulture. Somehow, the grid is properly localized BEFORE the data loads but switches back to default (en-US) as soon as the binding finishes. Currencies are not localized either.

    2) Aggregates. If the grid is empty, I get a Javascript Error: Uncaught ReferenceError: count is not defined and the default "No records to display" message is not displayed. This does not happen with Telerik MVC extensions.

    3) Aggregates - date format. There's a problem with grouping and displaying dates (probably related to Json). Without grouping the dates are fine, but with grouping I get: /Date(1337704107810)/ . Once again this would not happen with Telerik.

    4) Horizontal scrolling. I'm not sure if this is a bug or a bad setting, but when using horizontal scrolling with a grid that has groups and aggregate Sums and Counts in the main grid footer, the footer is static, it does not scroll with the rest of the grid. This works fine with Telerik. The detail footers scroll as expected though.

    Let me know if you need further details to reproduce the issues.

    Thanks,
    Mathieu
  2. Atanas Korchev
    Admin
    Atanas Korchev avatar
    8462 posts

    Posted 05 Jun 2012 Link to this post

    Hi, 

    Up to your comments:
    1. We need more info about this one. Generally speaking the Kendo grid initializes from the table which is rendered by the HtmlHelper extension. Then it uses current client-side culture for displaying dates. You can change the  culture as shown in the globalization demo: http://demos.kendoui.com/web/globalization/index.html 
    2. We need more info about this as well - paste here the declaration of your grid. On a side note the empty records template is not yet implemented in the beta.
    3. We need the configuration of your grid as well.
    4. We will investigate this one and see if it is already fixed or not.

    Regards,
    Atanas Korchev
    the Telerik team
    Join us on our journey to create the world's most complete HTML 5 UI Framework - download Kendo UI now!
  3. Mathieu
    Mathieu avatar
    6 posts
    Member since:
    Aug 2011

    Posted 05 Jun 2012 Link to this post

    Here's my code for the perfectly working Telerik Grid. The this.GetQueryable() method calls the repository and returns an IQueryable<TransactionSearchViewModel> filtered by the CompanyId.

    Controller Method
    [GridAction]
            public ActionResult BindTransactionGrid(TransactionSearchViewModel search)
            {
                var model = this.GetQueryable(search);
     
                return View(new GridModel(model));
            }

    Grid markup (Razor)
    @model TransactionSearchViewModel
             
    <div id="purchasehistory-transactiongrid-content">
        @(Html.Telerik().Grid<TransactionInfoViewModel>()
              .Name("purchasehistory-transactiongrid")
              .ClientEvents(events => events.OnDataBinding("purchasehistory_onDataBinding").OnDataBound("purchasehistory_onDataBound"))
              .Columns(columns =>
                  {
                      columns.Bound(o => o.ModifiedDate)
                          .Format("{0:yyyy/MM/dd HH:mm:ss}").Width(130)
                          .Aggregate(x => x.Count())
                          .ClientFooterTemplate("Total : <#= Count #>")
                          .ClientGroupFooterTemplate("Total : <#= Count #>");
                      columns.Bound(o => o.POSDisplay).Width(100);
                      columns.Bound(o => o.DivisionName).Width(100);
                      columns.Bound(o => o.ProductDisplay).Width(150);
                      columns.Bound(o => o.ProductQuantity).Width(40)
                          .Aggregate(x => x.Sum())
                          .ClientFooterTemplate("<#= Sum #>")
                          .ClientGroupFooterTemplate("<#= Sum #>");
                      columns.Bound(o => o.Total).Width(75).Format("{0:c}")
                          .Aggregate(x => x.Sum())
                          .ClientFooterTemplate("<#= $.telerik.formatString('{0:c}', Sum) #>")
                          .ClientGroupFooterTemplate("<#= $.telerik.formatString('{0:c}', Sum) #>");
                      columns.Bound(o => o.PersonDisplayName).Width(100);
                      columns.Bound(o => o.PersonJobDisplay).Width(140);
                      columns.Bound(o => o.PersonCode).Width(70);
                      columns.Bound(o => o.TransactionType).Width(65);
                  })
              .Resizable(x => x.Columns(true))   
              .DataBinding(dataBinding => dataBinding.Ajax().Select("BindTransactionGrid", "PurchaseHistory", this.Model).Enabled(true))
              .Resizable(x => x.Columns(true))
              .Scrollable(scrolling => scrolling.Enabled(true).Height("auto"))
              .Sortable(sorting => sorting.Enabled(true).SortMode(Telerik.Web.Mvc.UI.GridSortMode.SingleColumn)
                  .OrderBy(o => o.Add(m => m.ModifiedDate).Descending()))
              .Pageable(paging => paging.Enabled(true).PageSize(20))
              .Filterable(filtering => filtering.Enabled(true))
              .Filterable(filtering => filtering.Filters(x => x.Add(o => o.ModifiedDate).IsGreaterThanOrEqualTo(DateTime.Today)))
              .Groupable(grouping => grouping.Enabled(true))
              .Footer(true))
    </div>

    Javascript code
    $(document).ready(function () {
        $('#purchasehistory-company').bind('change', function () {
            var grid = $('#purchasehistory-transactiongrid').data('tGrid');
            grid.ajaxRequest();
            if (grid.currentPage != 1) {
                grid.pageTo(1);
            }
        });
    });
    function purchasehistory_onDataBinding(e)
    {
        e.data = {
            CompanyId: $('#purchasehistory-company').val()
        };
    }

    Here's my code for the equivalent Kendo UI grid:

    Controller Method
    public ActionResult BindKendoGrid([DataSourceRequest]DataSourceRequest request, string companyId)
            {
                var model =
                    this.GetQueryable(
                        new TransactionSearchViewModel() { CompanyId = Guid.Parse(companyId) }).
                        ToDataSourceResult(request);
     
                return this.Json(model);
            }

    Grid markup (Razor)
    <div id="kendoGrid">
        @(Html.Kendo().Grid<TransactionInfoViewModel>()
              .Name("purchasehistory-kendogrid")
              .Columns(columns =>
                  {
                      columns.Bound(o => o.ModifiedDate).Format("{0:yyyy/MM/dd HH:mm:ss}").Width(130)
                          .ClientFooterTemplate("Total : #=count#")
                          .ClientGroupFooterTemplate("Total : #=count#");
                      columns.Bound(o => o.POSDisplay).Width(100);
                      columns.Bound(o => o.DivisionName).Width(100);
                      columns.Bound(o => o.ProductDisplay).Width(150);
                      columns.Bound(o => o.ProductQuantity).Width(40)
                          .ClientFooterTemplate("#=sum #")
                          .ClientGroupFooterTemplate("#=sum #");
                      columns.Bound(o => o.Total).Width(75).Format("{0:c}")
                          .ClientFooterTemplate("#=kendo.format('{0:c}', sum)#")
                          .ClientGroupFooterTemplate("#=kendo.format('{0:c}', sum)#");
                      columns.Bound(o => o.PersonDisplayName).Width(100);
                      columns.Bound(o => o.PersonJobDisplay).Width(140);
                      columns.Bound(o => o.PersonCode).Width(70);
                      columns.Bound(o => o.TransactionType).Width(65);
                  })
              .DataSource(datasource => datasource
                  .Ajax()
                  .PageSize(20)
                  .Aggregates(aggregates =>
                      {
                          aggregates.Add(x => x.ModifiedDate).Count();
                          aggregates.Add(x => x.ProductQuantity).Sum();
                          aggregates.Add(x => x.Total).Sum();
                      })
                  .Read(read => read.Data("kendoDataBinding").Action("BindKendoGrid", "PurchaseHistory"))
                  .Sort(sort => sort.Add(x => x.ModifiedDate).Descending())
                  .Filter(filter => filter.Add(x => x.ModifiedDate).IsGreaterThanOrEqualTo(DateTime.Today))
              )
              .Resizable(x => x.Columns(true))
              .Scrollable()
              .Sortable(x => x.SortMode(Kendo.Mvc.UI.GridSortMode.SingleColumn))
              .Pageable()
              .Filterable()
              .Groupable()
              .Footer(true))
    </div>

    Javascript
    $(document).ready(function () {
        $('#purchasehistory-company').bind('change', function () {
            var grid = $('#purchasehistory-kendogrid').data('kendoGrid');
            grid.dataSource.read();
        });
    });
    function kendoDataBinding() {
        var data = {
            companyId: $('#purchasehistory-company').val()
        };
     
        return data;
    }

    I hope this helps,
    Mathieu
  4. Mathieu
    Mathieu avatar
    6 posts
    Member since:
    Aug 2011

    Posted 05 Jun 2012 Link to this post

    About the localization, when the grid is first initialized, I assume that the javascript kendo.culture() is set to the page's CurrentCulture. I understand that I could find a way to force this each time the DataSource object refreshes, but should't the client-side culture be passed to the server through the DataSourceRequest object just like any other grid state object (paging, ordering, filtering, etc.)??

    I also found another problem with my Kendo UI grid. Each time I attempt to apply a kendo filter, I get a server error. It seems like my Controller method does not recognize the DataSourceRequest object when a filter is applied. I get a NullReference exception, as if the BindKendoGrid method had never been defined.

    Thanks,
    Mathieu
  5. Atanas Korchev
    Admin
    Atanas Korchev avatar
    8462 posts

    Posted 06 Jun 2012 Link to this post

    Hello,

     The Kendo culture should be set only once with the current culture of the page. There is no need to send it to the server.
     
     We couldn't reproduce 2 and 3. Is there a chance to send us a runnable project? We would really like to fix those problems.

     We managed to reproduce 4 and fixed it.

     The NullReferenceException when filtering is a known issue which has been fixed recently.

    Regards,
    Atanas Korchev
    the Telerik team
    Join us on our journey to create the world's most complete HTML 5 UI Framework - download Kendo UI now!
  6. Mathieu
    Mathieu avatar
    6 posts
    Member since:
    Aug 2011

    Posted 07 Jun 2012 Link to this post

    Ok, I'm preparing a quick solution package... I'll post it here asap.

    Edit.

    Here is the code: http://dl.dropbox.com/u/45229958/Code/20120607-TelerikVsKendoUI.zip

    I kept the code as simple as possible and was able to reproduce all the bugs. Even the filtering issue keeps showing up even if I do not pass supplementary data to the BindKendoGrid method. Somehow the filtering works when activated through the UI, but fails when set using the Markup (I had to comment the .Filter() line in my .DataSource statement for the grid to work).
  7. Rosen
    Admin
    Rosen avatar
    3253 posts

    Posted 12 Jun 2012 Link to this post

    Hi Mathieu,

    Thanks for the sample project. We managed to observed and to address the filtering and grouping issues you have described. The fixes will be included in the next release. Meanwhile I have updated your telerik points.

    Regards,
    Rosen
    the Telerik team
    Join us on our journey to create the world's most complete HTML 5 UI Framework - download Kendo UI now!
  8. Mathieu
    Mathieu avatar
    6 posts
    Member since:
    Aug 2011

    Posted 12 Jun 2012 Link to this post

    Great! Any clue about the localization issue?
  9. Rosen
    Admin
    Rosen avatar
    3253 posts

    Posted 13 Jun 2012 Link to this post

    Hi Mathieu,

    I have attached a modified version of the View in question, which demonstrates how to enable the globalization feature for the client side rendering.

    Greetings,
    Rosen
    the Telerik team
    Join us on our journey to create the world's most complete HTML 5 UI Framework - download Kendo UI now!
  10. Mathieu
    Mathieu avatar
    6 posts
    Member since:
    Aug 2011

    Posted 14 Jun 2012 Link to this post

    Hi Rosen,

    I'm sorry to report that even after adding the kendo.culture() javascript statement in my code I'm still getting the same behavior. The grid is properly localized when the page first loads, as seen when I put a breakpoint in my HomeController binding method. However, when the binding method returns and the grid refreshes, it switches back to english. I havent investigated much but I'm pretty sure that something needs to be done to the KendoUI .ToDataSourceResult() to pass the culture as a Json parameter and keep the localisation info intact!

    Thanks,
    Mathieu
  11. Rosen
    Admin
    Rosen avatar
    3253 posts

    Posted 18 Jun 2012 Link to this post

    Hello Mathieu,

    I'm afraid that in the current version of KendoUI Grid for ASP.NET MVC, the localization is not fully supported. Currently, it does support globalization, which is demonstrated in the View provided in my previous message.

    Regards,
    Rosen
    the Telerik team
    Join us on our journey to create the world's most complete HTML 5 UI Framework - download Kendo UI now!
  12. John
    John avatar
    1 posts
    Member since:
    Jun 2012

    Posted 21 Jun 2012 Link to this post

    I am having the same problem as in #2 of the original post. If you are using aggregates on your grid with aggregate functions in a footer template, but the grid's dataSource.Data is empty the page will throw an error when you create the grid. Also, if you have the case as previously stated, but initialize the grid with data, the page will throw an error if you try to clear the data of the dataSource. I have made up a jsFiddle that shows my problem. http://jsfiddle.net/7FBaj/1/ .

    Is this a bug, or am I doing something wrong? I've only been working with Kendo UI for a few weeks now, so it may just be that there is a better way to clear a dataSource that uses aggregates.

    Thanks!
    John
  13. Rosen
    Admin
    Rosen avatar
    3253 posts

    Posted 22 Jun 2012 Link to this post

    Hi John,

    The described issue is already fixed. You may download the Q2 2012 Beta and give it a spin.

    Regards,
    Rosen
    the Telerik team
    Join us on our journey to create the world's most complete HTML 5 UI Framework - download Kendo UI now!
  14. Liu
    Liu avatar
    8 posts
    Member since:
    Nov 2016

    Posted 26 Jul 2017 Link to this post

    HI,

    我建立了一個 vb.net 的 Telerik ASP.NET MVC Application專案,然後選擇GRID and Menu這個範本,

    執行後發生這個錯誤訊息造成Kendo UI 的GRID不能用 :

    " BC31429: 'Grid' 模稜兩可,因為在 class 'Kendo.Mvc.UI.Fluent.WidgetFactory' 中有多種具有這個名稱的成員。 "

    最後發現是2017.2.621.545這個版本的Kendo.Mvc.dll有問題,然後我換成2016.3.1118.545版本的dll就好了,

    請問有其他人也有發生過這個問題嗎?

    I've been creating a Telerik ASP.NET MVC Application for VB.net , then chosed a "GRID and Menu" Template, after running  my project ,there is a error message :  " BC31429: 'Grid' 模稜兩可,因為在 class 'Kendo.Mvc.UI.Fluent.WidgetFactory' 中有多種具有這個名稱的成員。 "

    And I finally fount out that  there is a problem in  Kendo.Mvc.dll  (2017.2.621.545 version) ,

    when i replaced it with 2016.3.1118.545 version, everying is ok. 

    Is there any one have same problem like me ?

    thany you.

     

     

     

     

  15. Alex Hajigeorgieva
    Admin
    Alex Hajigeorgieva avatar
    1018 posts

    Posted 31 Jul 2017 Link to this post

    Hello Liu,

    We recently fixed an error with the VB Razor syntax. The internal build that includes the fix is available for download. Please download it and let us know how it works for you. It is 2017.2.707. I do not understand Chinese so if the error is not the one below, I would need more information in English so that I can help you further.:

    'Grid' is ambiguous because multiple kinds of members with this name exist in class 'Kendo.Mvc.UI.Fluent.WidgetFactory'

    Kind Regards,
    Alex Hajigeorgieva
    Progress Telerik
    Try our brand new, jQuery-free Angular 2 components built from ground-up which deliver the business app essential building blocks - a grid component, data visualization (charts) and form elements
  16. Liu
    Liu avatar
    8 posts
    Member since:
    Nov 2016

    Posted 01 Aug 2017 in reply to Alex Hajigeorgieva Link to this post

    Yes that's my error message for  VB Razor . 

    But I don't understand what is  "internal build"  and where to download the fix ,

    Do you mean that i have to reinstall  all part of Kedoui  again ?

     

    by the way And Now there is another question(maybe Bug) : 

    Also I've been creating a Telerik ASP.NET MVC Application for VB.net , then chosed a standard template ,

    and i only creating  one kendoUI razor button on  MVC view ,

    when i use IE11、IE10、IE9,it costed  about 20~40 seconds to render this page.

    and not this situation happened in Goolgle or edge even IE8.

     

    Ansalso I  I finally fount out that  these  two css file cause the problem: 

    <link href="https://kendo.cdn.telerik.com/2017.2.621/styles/kendo.common-material.min.css" rel="stylesheet" type="text/css" />
    <link href="https://kendo.cdn.telerik.com/2017.2.621/styles/kendo.material.min.css" rel="stylesheet" type="text/css" />

    still not work even if i downloaded these two css file to local side,   it seems that there are some compatibility problem between

    these css and IE. 

     

    Thanks!

    Liu

     

  17. Alex Hajigeorgieva
    Admin
    Alex Hajigeorgieva avatar
    1018 posts

    Posted 01 Aug 2017 Link to this post

    Hello Liu,

    As our licensed client, you can download the latest builds as they become available to you. This means that you do not have to wait for major releases to get the newest features and bugfixes (every 1-3 weeks or so).

    To get the latest internal build:

    - Go to your account:

    https://www.telerik.com/account/my-downloads

    - Click on the desired product and select the latest internal build:



    Let me know if you experience any issues when you try it with the latest version.

    Kind Regards,
    Alex Hajigeorgieva
    Progress Telerik
    Try our brand new, jQuery-free Angular 2 components built from ground-up which deliver the business app essential building blocks - a grid component, data visualization (charts) and form elements.
  18. Liu
    Liu avatar
    8 posts
    Member since:
    Nov 2016

    Posted 01 Aug 2017 in reply to Alex Hajigeorgieva Link to this post

    HI,

    VB Razor bug had been fixed , thanks for your team.

    But the performance problem  of Css  below still exist ,

    <link href="https://kendo.cdn.telerik.com/2017.2.621/styles/kendo.common-material.min.css" rel="stylesheet" type="text/css" />
    <link href="https://kendo.cdn.telerik.com/2017.2.621/styles/kendo.material.min.css" rel="stylesheet" type="text/css" />

    they cause ie11、ie10、ie9  run  very slowy when opening the page , again asking for your help

     

    Thanks!
    Liu

     

     

     

  19. Alex Hajigeorgieva
    Admin
    Alex Hajigeorgieva avatar
    1018 posts

    Posted 04 Aug 2017 Link to this post

    Hi Liu,

    I have no knowledge of such performance issue which is caused by the Material Theme CSS files. However, IE is known for being less powerful with large amounts of HTML on the page compared to other modern browsers. 

    I suggest testing if another theme may perform better - for example, our new Default theme:


    Did you know you could change themes on our demos page from the top right -hand corner?

    http://demos.telerik.com/kendo-ui/grid/index




    Finally, if you are able to send us a project which displays the performance issue with some steps how to reproduce it, I would be able to investigate the cause.

    Kind Regards,
    Alex Hajigeorgieva
    Progress Telerik
    Try our brand new, jQuery-free Angular 2 components built from ground-up which deliver the business app essential building blocks - a grid component, data visualization (charts) and form elements.
  20. Liu
    Liu avatar
    8 posts
    Member since:
    Nov 2016

    Posted 19 Dec 2017 Link to this post

    Hi, 
    i tried to use kendo gantt to make a treeList like your web demo :
    https://demos.telerik.com/kendo-ui/gantt/index
    But after i set parentid,there was nothing happend.

    My code like this:

    $("#gantt").kendoGantt({
            dataSource: [
              {
                  id: 1,
                  orderId: 0,
                  title: "Task1",
                  start: new Date("2014/6/17 9:00"),
                  end: new Date("2014/6/17 11:00"),
                  expanded: true,
                  parentId: null
              },
              {
                  id: 2,
                  orderId: 1,
                  title: "Task2",
                  start: new Date("2014/6/17 12:00"),
                  end: new Date("2014/6/17 13:00"),
                  parentId: 1
              }
            ],
            dependencies: [
              {
                  id: 1,
                  predecessorId: 1,
                  successorId: 2,
                  type: 1
              }
            ]
        });

    Which part was wrong?

    Thanks,
    Liu

  21. Liu
    Liu avatar
    8 posts
    Member since:
    Nov 2016

    Posted 19 Dec 2017 in reply to Liu Link to this post

    HI,

    I figure out that it need to add a 'summary'  to my dataSource, so  never mind that question.
    Another question is that  i need to know  how to  add a header row to  ganttlst in order to group by my list,
    just like yellow area in my attach.
    That yellow row  just a simple label title, so i can't make it into a treegrid.
    What should i do?

    Thanks,
    Liu

  22. Alex Hajigeorgieva
    Admin
    Alex Hajigeorgieva avatar
    1018 posts

    Posted 20 Dec 2017 Link to this post

    Hello, Liu,

    Since you have questions regarding the Kendo UI Gantt, I have opened a new ticket on your behalf because this is the UI for ASP.NET MVC Grid forum. 

    If you prefer to ask a question in the forums, you can check the existing ones here:

    https://www.telerik.com/forums/kendo-ui/gantt

    Kind Regards,
    Alex Hajigeorgieva
    Progress Telerik
    Try our brand new, jQuery-free Angular components built from ground-up which deliver the business app essential building blocks - a grid component, data visualization (charts) and form elements.
Back to Top