2015-02-26 14 views
5

के माध्यम से एक पंक्ति सेल के लिए एक बटन जोड़ने मैं निम्नलिखित gridOptions.columnDefsकोणीय यूआई ग्रिड, templating

$scope.generateReport = function(row) { 
    alert("Test"); 
}; 

$scope.gridOptions.columnDefs = [ 
    { name: 'Action', 
     cellEditableCondition: false, 
     cellTemplate: '<button ng-click="grid.appScope.generateReport(row)"> 
         Report 
         </button>' 
    }]; 

यह काम नहीं कर रहा, बटन शो मिल गया लेकिन एक बार क्लिक किया अपने कार्य बुला नहीं। मैं उनकी मार्गदर्शिका Here का पालन कर रहा हूं, और मैं ui-grid - v3.0.0-RC.18 का उपयोग कर रहा हूं।

मुझे अपने एचटीएमएल के लिए निम्नलिखित मिल गया।

 <div id="grid1" 
      ui-grid="gridOptions" 
      ui-grid-cellnav 
      ui-grid-edit 
      ui-grid-expandable 
      ui-grid-exporter 
      class="myGrid"> 
     </div> 

मैं भी एक external-scope जोड़ने की कोशिश की, लेकिन कोई फर्क नहीं था ..

कोई भी विचार?

उत्तर

4

यूई-ग्रिड पंक्ति में एक बटन के लिए मेरा एनजी-क्लिक इस तरह दिखता है।

ng-click="getExternalScopes().delete($event, row) 

मेरे नियंत्रक $ गुंजाइश इंजेक्शन है और पहली पंक्ति संदर्भ (मेरा मानना ​​है कि) बाहरी गुंजाइश के लिए बनाता है।

app.controller("MyController", function ($scope) { 
$scope.$scope = $scope; 

एचटीएमएल इस तरह दिखता है, जो बाहरी दायरे को संदर्भित करता है।

<div ui-grid="gridOptions" class="someClass" external-scopes="$scope" ui-grid-selection ui-grid-resize-columns></div> 

यहाँ मेरा पूरा cellTemplate है अगर यह मदद करता है ...

<div class="ui-grid-cell-contents ng-binding ng-scope"><button class="btn btn-danger {{getExternalScopes().deleteButtonClass(row)}} btn-xs btn-block" ng-click="getExternalScopes().delete($event, row)"><span class="glyphicon glyphicon-trash"></span></button></div> 
+0

बस एक और पोस्ट कि बाहरी-दायरा धीरे-धीरे समाप्त किया जा रहा है पर पढ़ें। यह उस संस्करण में काम करता है जिसका मैं अब उपयोग कर रहा हूं, जो कि एक महीने या दो पुराना है। Http://stackoverflow.com/questions/26688746/conditional-cell-template-in-ui-grid-angularjs?rq=1 –

+1

मैंने अपनी नवीनतम रिलीज आरसी 20 में अपग्रेड किया और इसके कामकाजी जुर्माना 'grid.appScope.generateReport' के साथ देखा गया । मेरे पास आर 18 था और माना जाता है कि इसे उस रिलीज के साथ भी काम करना चाहिए था। आप अपने उदाहरण में किस संस्करण का उपयोग कर रहे हैं? – Dayan

+0

मैं v3.0.0-RC.18 का उपयोग कर रहा हूं। मैंने हाल ही में नवीनतम रिलीज में अपग्रेड किया है, लेकिन संपादन योग्य ग्रिड के टैबबिंग व्यवहार में काफी बदलाव आया है, इसलिए मैं अब पुरानी रिलीज में वापस गया। ऐसा लगता है कि शायद आपके पास प्रलेखन और कोड के बीच कोई मेल नहीं था? –

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