Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/461.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将现有剑道网格绑定到新的JSON对象_Javascript_Json_Kendo Ui_Kendo Grid - Fatal编程技术网

Javascript 将现有剑道网格绑定到新的JSON对象

Javascript 将现有剑道网格绑定到新的JSON对象,javascript,json,kendo-ui,kendo-grid,Javascript,Json,Kendo Ui,Kendo Grid,我的页面上有以下kendoGrid,加载时从指定URL接收JSON对象 但稍后我想将它绑定到从其他源接收的其他JSON数据。有没有一种方法可以将包含网格的现有数据绑定到一个新的JSON对象 $('#grid').kendoGrid({ sortable: true, groupable: true, scrollable: true, pageable: { pageSizes: 9 }, dataSource: {

我的页面上有以下
kendoGrid
,加载时从指定URL接收
JSON
对象

但稍后我想将它绑定到从其他源接收的其他
JSON
数据。有没有一种方法可以将包含网格的现有数据绑定到一个新的
JSON
对象

$('#grid').kendoGrid({
    sortable: true,
    groupable: true,
    scrollable: true,

    pageable: {
        pageSizes: 9
    },
    dataSource: {
        transport: {
            read: {
                url: "../Get/JsonData",
                dataType: "Json"
            }
        }
    },
    columns: [
        { field: "name", title: "Name", width: 100 },
        ... ...
    ]
});

新JSON的结构是否相同(相同的列和相同的数据模型)?如果是,则选择“是”,只需使用
transport.read
transport.read.url
,而不是将其定义为
字符串
将其定义为返回一个或另一个的函数


请记住,这可能是一个对象或函数。对于

也会发生同样的情况,您可以将数据源中的所有数据替换为:

var newData = [ "some", "data", "array" ];

var gridWidget = $('#grid').data("kendoGrid");
gridWidget.dataSource.data(newData);
或者,您可以为网格提供一个全新的数据源(我推荐这种方法):


当然,在我的示例中,
newData
就是从函数返回的任何数据。

在页面加载时,我希望它从
url
加载,但在调用函数后,我希望它用函数返回的新
JSON
数据替换现有数据。因此,使用url进行初始加载,然后然后使用
grid.dataSource.data(newJSON)用于替换它。在查找数据后,它会给我此错误
未捕获引用错误:oSId未定义
oSId
是我在for a command按钮中使用的一列
{command:{text:{Options],click:showHideOptions},title:,width:“90px”,属性:{“id:”,}它在控制台中说:
[]没有方法“fetch”
其中[]是newDataUsing中的JSON使用哪种方法?调用
dataSource.data()
grid.setDataSource()
?我猜您正在传递一个数组,其中应该使用
grid.setDataSource()
传递一个
DataSource
,我正在传递一个
JSON
对象,在您的情况下,这个对象就是
数据
对象,我尝试在您初始化
数据
对象的地方给出我的对象,但没有起作用。如何将从服务器
theObject
获取的
JSON
对象转换为数据源?
var-DataSource=new-kendo.data.DataSource({data:JSON.parse(someJsonString)})
var newData = new kendo.data.DataSource({
    data: [ "some", "data", "array" ]
});

var gridWidget = $('#grid').data("kendoGrid");
gridWidget.setDataSource(newData);