簡體   English   中英

無法通過自定義按鈕刷新Kendo Grid?

[英]Cannot refresh Kendo Grid by a custom button?

我嘗試過在stackoverflow和其他頁面上建議的許多不同的方法,但仍然無法刷新Kendo Grid上的數據。 我在應用以下方法時遇到“TypeError:$(...)。data(...)is undefined”錯誤。 有任何幫助嗎?

<div id="grid"></div>
<button id="refresh" class="k-button" onclick="Refresh()">Refresh</button>


<script>
    var grid = $("#grid").kendoGrid({
        //code omitted for brevity
        dataSource: {
            type: "json",
            transport: {
                read: {
                    url: "/Event/Event_Read",
                    dataType: "json",
                    cache: false
                    }
            },
            schema: {
                model: {
                    fields: {
                        CardNo: { type: 'number' }
                        //code omitted for brevity                         
                    }
                }
            }
        },
        pageable: {
            pageSize: 15,
            refresh: true
        },
        filterable: true,
        columns:
        [
            { field: "CardNo", title: "Card No", filterable: true }
            //code omitted for brevity              
        ]
    }).data("kendoGrid");

    function Refresh() {
        $("#grid").data("kendoGrid").dataSource.read();
        $("#grid").data("kendoGrid").refresh();
    }
</script>

嗨,請嘗試此代碼,包括以下css和js,並嘗試重新加載網格。

<!DOCTYPE html>
<html>
<head>
<title></title>
<link rel="stylesheet" href="styles/kendo.common.min.css" />
<link rel="stylesheet" href="styles/kendo.default.min.css" />

<script src="js/jquery.min.js"></script>
<script src="js/kendo.all.min.js"></script>
</head>
<body>
<div id="grid"></div>
<button id="refresh" class="k-button" onclick="Refresh()">Refresh</button>


<script type="text/javascript">
$(function () {
var grid = $("#grid").kendoGrid({
    //code omitted for brevity
    dataSource: {
        type: "json",
        transport: {
            read: {
                url: "/Event/Event_Read",
                dataType: "json",
                cache: false
                }
        },
        schema: {
            model: {
                fields: {
                    CardNo: { type: 'number' }
                    //code omitted for brevity                         
                }
            }
        }
    },
    pageable: {
        pageSize: 15,
        refresh: true
    },
    filterable: true,
    columns:
    [
        { field: "CardNo", title: "Card No", filterable: true }
        //code omitted for brevity              
    ]
}).data("kendoGrid");

function Refresh() {
    $("#grid").data("kendoGrid").dataSource.read();
    $("#grid").data("kendoGrid").refresh();
}
});
</script>

為我工作並參考這個 telerik網站。

這應刷新網格:

$("#grid").data("kendoGrid").dataSource.read(); 

刷新方法再次從數據源填充網格。 如果數據沒有改變,網格也不會改變。

如果你得到了firebug錯誤

TypeError:$(...)。data(...)未定義

這意味着在調用此代碼或選擇器錯誤時,網格尚未初始化。 確保不要將網格名稱與其他控件混淆

嘗試更改您的選擇器名稱。

$("#MyGrid").data("kendoGrid").dataSource.read();

請試試這個

$(".k-pager-refresh").trigger('click');

在你的刷新功能

或試試這個

$("#grid").data("kendoGrid").dataSource.read(); 
$("#grid").data("kendoGrid").refresh();

這有助於你

問候,

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM