2012-09-03 21 views
5

Ho una griglia Kendo che si collega a un DataSource XML. Come posso avere la modifica DataSource, in base alla selezione di un elenco a discesa. Esempio:UI di Kendo modifica dinamicamente stringa Datasource (XML)

//Create DataSource 
    var gridDataSource = new kendo.data.DataSource({    
     transport: { 
      read: [DropDownListValue] + ".xml", 
      dataType: "xml" 
     } 
     }); 

    gridDataSource.read(); 

    function createGrid(){     
      var grid = $("#grid").kendoGrid({ 
       dataSource: gridDataSource 
       }... 
      }; 

Dove [DropDownListValue] è un elenco a discesa sulla mia forma. In questo esempio se [DropDownListValue] = 1, l'origine dati sarebbe "1.xml". Se [DropDownListValue] = 2, l'origine dati sarebbe "2.xml".

risposta

15

sono stato in grado di raggiungere questo obiettivo aggiungendo quanto segue per l'evento Change On della mia lista Drop Down:

//Assign drop down value to variable 
var dropDownListValue = $("#dropDown1").val(); 

//Concatenate drop down variable to file name 
var dynamicUrl = dropDownListValue +".xml"; 

//Assign grid to variable 
var grid = $("#grid").data("kendoGrid"); 

//Set url property of the grid data source 
grid.dataSource.transport.options.read.url =dynamicUrl; 

//Read data source to update 
grid.dataSource.read(); 
+0

RegDwight, grazie per la pulizia. Se sei d'accordo, questo è corretto, si prega di contrassegnare come risposta. Posso attestare che lo sto usando ora e funziona benissimo. – RizcoTech

+0

Questo è fantastico - il metodo funziona anche per Kendo. –

+0

Come inviare la proprietà anche? –