Grid refreshes, but not at client

2 posts, 0 answers
  1. Johan
    Johan avatar
    1 posts
    Member since:
    Jan 2013

    Posted 14 Jun Link to this post

    I have an ASP.NET MVC application and it has a page that makes use of the KendoGrid:

    $(function () {
            $("#Grid").kendoGrid({
                columns: [
                            { "title": "Straat", "field": "Straat" },
                            { "title": "Huisnummer", "field": "Huisnummer" },
                            { "title": "Volledige Naam", "field": "VolledigeNaamKoperHuurder" },
                            { "title": "Plaats", "field": "Plaats" },
                            { "title": "Objectsoort", "field": "Objectsoort" },
                            { "title": "Objectcode", "field": "Objectcode" }],
                dataSource: {
                    transport: {
                        read: "/bouwobject/getbouwobjectenjson",
                        dataType: "json"
                    },
                    pageSize: 15
                },
                selectable: "row",
                scrollable: false,
                pageable: {
                    messages: {
                        display: "{0} - {1} van {2} items",
                        empty: "Geen items te tonen",
                        page: "Pagina",
                        of: "van {0}",
                        itemsPerPage: "items per pagina",
                        first: "Ga naar de eerste pagina",
                        previous: "Ga naar de laatste pagina",
                        next: "Ga naar de volgende pagina",
                        last: "Ga naar de laatste pagina",
                        refresh: "Verversen"
                    }
                },
                sortable: { mode: "single" },
                filterable: {
                    messages: {
                        info: "Toon items met waarde",          // sets the text on top of the filter menu
                        filter: "Filter",                       // sets the text for the "Filter" button
                        clear: "Opheffen",                      // sets the text for the "Clear" button

                        // when filtering boolean numbers
                        isTrue: "is waar",                      // sets the text for "isTrue" radio button
                        isFalse: "is onwaar",                   // sets the text for "isFalse" radio button

                        // changes the text of the "And" and "Or" of the filter menu
                        and: "En",
                        or: "Of"
                    },
                    operators: {
                        // filter menu for "string" type columns
                        string: {
                            eq: "Is gelijk aan",
                            neq: "Is ongelijk aan",
                            startswith: "Start met",
                            contains: "Bevat",
                            ncontains: "Bevat niet",
                            endswith: "Eindigt met"
                        },
                        // filter menu for "number" type columns
                        number: {
                            eq: "Is gelijk aan",
                            neq: "Is ongelijk aan",
                            gte: "Is groter dan of gelijk aan",
                            gt: "Is groter dan",
                            lte: "Is kleiner of gelijk aan",
                            lt: "Is kleiner dan"
                        },
                        // filter menu for "date" type columns
                        date: {
                            eq: "Is gelijk aan",
                            neq: "Is ongelijk aan",
                            gte: "Is na of op",
                            gt: "Is na",
                            lte: "Is op of voor",
                            lt: "Is voor"
                        },
                        // filter menu for foreign key values
                        enums: {
                            eq: "Is gelijk aan",
                            neq: "Is ongelijk aan"
                        }
                    }
                },
                groupable: {
                    messages: {
                        empty: " Verplaats de titel van een kolom hier naar toe om te groeperen op die kolom"
                    }
                }
            });
        });

    This grid is on a page where there is a button where the user can navigate to a new page. This page has a form, and once filled in and submitted stays on that page. The user then can click a button to go back to the page with the grid. Now, on my machine this grid is updated with some of the values the user just filled in the form. When deployed at the client, this does not happen. The use has to refresh the page with the grid for the values to come up.

    What is happening?

  2. Stefan
    Admin
    Stefan avatar
    912 posts

    Posted 16 Jun Link to this post

    Hello Johan,

    This is not a known issue and it was not reproduced in our testing scenario.

    In order to determine what may be causing the issue, I can suggest the following:

    1) When the user navigates back to the page check if the Grid is rebound by listening for its dataBound event:

    http://docs.telerik.com/kendo-ui/api/javascript/ui/grid#events-dataBound

    2) When the user navigates back to the page in the Grid dataBound event, check if the new data is successfully added to the Grid dataSource:

    http://docs.telerik.com/kendo-ui/api/javascript/data/datasource#methods-data

    If the Grid is rebound and the data is showing in its dataSource, but not displayed, I can suggest to programmatically refresh the grid as I can assume that this may be a timing issue:

    http://docs.telerik.com/kendo-ui/api/javascript/ui/grid#methods-refresh

    If the new data is not received, make a call to retrieve it using the read method of the dataSource:

    http://docs.telerik.com/kendo-ui/api/javascript/data/datasource#methods-read

    If additional assistance is needed, please provide a live Url where the issue is reproduced, so we can investigate further. In a case of any privacy concerns as this is a public forum, I can suggest submitting a private ticket in our Support system.

    Regards,
    Stefan
    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.
Back to Top