2015-02-04 8 views
5

मैं ऐसे this के रूप में एक केन्डो ग्रिड ताज़ा पर कई सुझावों का पालन करने का प्रयास कर रहा हूँ।कैसे एक कोणीय नियंत्रक से ताज़ा() एक केन्डो ग्रिड पर कॉल करने के लिए?

<div kendo-grid="vm.webapiGrid" options="vm.mainGridOptions"> 

फिर नियंत्रक में मेरे पास है:

जरूरी है कि मेरे पास है html में है

vm.webapiGrid.refresh(); 

नोट: मैं ControllerAs वाक्य रचना तो मैं उपयोग कर रहा हूँ "वी एम का उपयोग कर रहा "$ दायरे के बजाय।

मेरे समस्या यह है कि "vm.webapiGrid" अपरिभाषित है। यह इतना सरल लगता है, लेकिन मुझे यकीन नहीं है कि यह अपरिभाषित क्यों है।

उत्तर

9

जवाब मिले। डेटा स्रोत मैं के बारे में पढ़ा ताज़ा से एक अन्य विधि की तरह कुछ करने के लिए किया गया था:

vm.mainGridOptions.datasource.transport.read(); 

यह "पढ़ें" के रूप में मेरे लिए काम नहीं कर रहा था अपरिभाषित था। मेरे डेटा स्रोत परिभाषा को देखते हुए, मैंने देखा कारण पढ़ा (इस मामले "ई" में) एक पैरामीटर की जरूरत है:

vm.mainGridOptions = { 
     dataSource: { 
      transport: { 
       read: function (e) { 
        task.getAllTasks(vm.appContext.current.contextSetting). 
         then(function (data) { 
          e.success(data); 
         }); 
       }, 
      } 
     }, 

हल करने के लिए, मैं अपने दायरे में "ई" बचाया और फिर इसे पुन: उपयोग किया जब मैं करना चाहता था ताज़ा:

vm.mainGridOptions = { 
     dataSource: { 
      transport: { 
       read: function (e) { 
        task.getAllTasks(vm.appContext.current.contextSetting). 
         then(function (data) { 
          e.success(data); 
          vm.optionCallback = e; 
         }); 
       }, 
      } 
     }, 

और उसके बाद:

if (vm.optionCallback !== undefined) { 
    vm.mainGridOptions.dataSource.transport.read(vm.optionCallback); 
} 

समस्या हल (मुझे आशा है)।

<div kendo-grid="vm.webapiGrid" options="vm.mainGridOptions"> 

में के रूप में:

$scope.vm.webapiGrid.dataSource.transport.read(); 

आशा व्यक्त की कि मदद करता है

-3

जोड़ें ग्रिड से आईडी और कोशिश कर इसे प्रयोग ताज़ा।

<div kendo-grid="vm.webapiGrid" options="vm.mainGridOptions" id="grid1"> 

नियंत्रक उपयोग में इस:।।

$ ("# grid1") डेटा ('kendoGrid') ताज़ा();

+0

मुझे वहाँ पहुँचने के लिए शुरू होता है कि (हालांकि मैं शायद मिल चाहते हैं अपनी उंगलियों को एक jQuery चयनकर्ता का उपयोग के लिए बंद कटा हुआ)। समस्या यह है कि रीफ्रेश फ़ंक्शन किसी ईवेंट की अपेक्षा कर रहा है। यदि मैं मूल्यांकन करता हूं, तो मैं देखता हूं: फ़ंक्शन (ई) { var = = लंबाई, ..... –

+0

क्या आप अपने कोड के साथ jsfiddle बना सकते हैं .. समस्या को पकड़ना आसान होगा .. – Andrea

+0

http://stackoverflow.com/questions/18399805/reloading-refreshing-kendo-grid यह asnwer भी –

3

यह है क्योंकि आप उपयोग कर रहे हैं विकल्प पढ़ने को गति प्रदान करने पर आपत्ति है, तो आप के बजाय ग्रिड संदर्भ का उपयोग करना चाहिए।

संबंधित मुद्दे