2011-01-11 13 views
5

मैं CSV, Excel, को आपके पास निर्यात करने के लिए मानदंड क्वेरी प्राप्त करने का प्रयास कर रहा हूं। जिस मुद्दे में मैं चल रहा हूं वह यह है कि श्रेणियां कोड साफ़ रूप से चलता है (जैसा कि, कोई त्रुटि नहीं फेंकता है), लेकिन यह कोई डेटा उत्पन्न नहीं करता है। मुझे एक तथ्य के लिए पता है कि data सूची का एक ऐरेलिस्ट है। किसी के पास इसके लिए कोई कामकाज है, या मुझे बताओ कि क्या मैं कुछ गलत कर रहा हूं?मैं मानदंड प्रश्नों के साथ सही तरीके से काम करने के लिए Grails निर्यात प्लगइन कैसे प्राप्त करूं?

def categories = { 
    if(params?.format && params.format != "html"){ 
response.contentType = ConfigurationHolder.config.grails.mime.types[params.format] 
response.setHeader("Content-disposition", "attachment; filename=categories.${params.extension}") 

    def data = Machine.createCriteria().list { 
     projections { 
      groupProperty("category") 
      countDistinct("id") 
     } 
    } 

    exportService.export(params.format, response.outputStream, data, [:], [:]) 
} 
+0

क्या "if" कथन वास्तव में किया गया है? –

+0

हां, लेकिन आपको सामग्री प्रकार की जांच करनी होगी। मैं कॉन्फ़िगर.groovy फ़ाइल में सही करने के लिए सही विकल्प को भूलना चाहता हूं। – Pat

उत्तर

3

यहाँ एक संभव समाधान है कि मैं के बारे में सोचा जैसे ही मैंने प्रश्न प्रस्तुत किया है:

class Machine { 
    String name, 
      category 
    // constraints, etc 
} 

यहाँ मेरी नियंत्रक कार्रवाई (plugin page से ज्यादातर लिया गया) है:

यहाँ मेरी डोमेन वस्तु है : Expando। यहाँ नियंत्रक विधि में परिवर्तन है:

// response stuff above 
def fields = ["category", "count"] 
def labels = ["category": "Category", "count": "# of machines" ] 

def data = Machine.createCriteria().list { 
    projections { 
     groupProperty("category") 
     countDistinct("id") 
    } 
}.collect { l -> new Expando("category": l[0], "count": l[1]) } 

exportService.export(params.format, response.outputStream, data, fields, labels, [:], [:]) 

मैं तथ्य यह है कि निर्यात प्लगइन एक वस्तु से एक मूल्य के निकलने की कोशिश करता शोषण कर रहा हूँ। तो, मैं इसे एक वस्तु देता हूं।

यदि कोई बेहतर समाधान है, तो मैं इसे देखकर खुश रहूंगा।

+0

एक्सपेन्डो grails 3.1 और ऊपर पर काम नहीं करता है और निर्यात प्लगइन एक्सेल निर्यात: 2.1 –