14

मैं केंडो ग्रिड है और मैं डेटा स्रोत इसबदलें जे एस

.DataSource(dataSource => dataSource 
           .Ajax() 
           .PageSize(20) 

           .Read(read => read.Action("GetWorker", "Worker")) 

मैं अपने पन्ने पर बटन है और मैं परिवर्तन डेटा स्रोत चाहते हैं जब मैं इस बटन (उपयोग जावा स्क्रिप्ट) प्रेस का उपयोग निर्धारित किया है। मैं इस

.DataSource(dataSource => dataSource 
           .Ajax() 
           .PageSize(20) 

           .Read(read => read.Action("GetDisabled", "Worker")) 

तरह somwthing करना चाहते हैं मैं इस

var grid = $("grid").data("kenodGrid"); 
      grid.dataSource().read() 

पसंद करते हैं, लेकिन मैं कोशिश grid.dataSource के बाद क्या करना है पता नहीं है()। मैं डेटा स्रोत कैसे बदल सकता हूं? Thnaks और आशा है कि आप मदद के लिए

उत्तर

33

मैं आप पहली बार एक नया डेटा स्रोत बनाना चाहिए लगता है (दूरस्थ डेटा के लिए http://demos.kendoui.com/web/datasource/remote-data.html देख)

var dataSource = new kendo.data.DataSource({ 
    data: [ 
     { name: "John Doe", age: 33 } 
    ] 
}); 

और फिर setDataSource विधि का उपयोग कर ग्रिड से संलग्न (http://docs.kendoui.com/api/web/grid#methods-setDataSource)

var grid = $("#grid").data("kendoGrid"); 
grid.setDataSource(dataSource); 
0

चूंकि आप अपने पढ़ने के लिए कार्रवाई को बदलना चाहते हैं तो आप बस ऐसा कर सकते हैं। this question के अनुसार आप सिर्फ डेटा स्रोत पढ़ें यूआरएल की स्थापना की और ऐसा ही कुछ के साथ अपने ग्रिड डेटा को ताज़ा कर सकते हैं:

var grid = $("#grid").data("kendoGrid"); 
grid.dataSource.transport.options.read.url = "newUrlPath"; 
grid.dataSource.read(); 
grid.refresh(); 

आप नहीं है वास्तव में अपने डेटा स्रोत है, लेकिन अपने डेटा को बदलने और संभवतः अपने आइटमों की सूची प्राप्त करना चाहते हैं जेसन के रूप में कुछ AJAX अनुरोध से मैं लिखता हूं कि अगर मैं इसे चाहता हूं तो उदाहरण के रूप में मैं इसे लिखूंगा।

var jsonData = ... // From some ajax response 
var newKendoDatasource = newKendoDS(jsonData); 
$("#grid").data("kendoGrid").dataSource.data(newKendoDatasource._data); 

समारोह ऊपर काफी की तरह है

function newKendoDS(ndata) { 
    var datasource = new kendo.data.DataSource({ data: ndata }); 
    datasource.read(); // In order to refresh 
    return datasource; 
} 
संबंधित मुद्दे