2011-01-11 14 views
5

CSV, Excel'e aktarılacak bir Kriterler sorgusu almaya çalışıyorum, neyin var? Çalıştığım sorun, kodların temiz bir şekilde çalıştığı (olduğu gibi, herhangi bir hata atmadığı), ancak herhangi bir veri oluşturmuyor olmasıdır. data'un bir Liste ArrayListesi olduğunu biliyorum. Bunun için herkesin bir çözümü var mı, yoksa yanlış bir şey mi yapıyorum?Grails Export eklentisini, ölçüt sorgularıyla doğru şekilde çalışmasını nasıl sağlayabilirim?

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" ifadesi gerçekten uygulandı mı? –

+0

Evet, ancak içerik türünü kontrol etmeniz gerekiyor. Config.groovy dosyasında true olarak değiştirilmesi gereken tam seçeneği unutuyorum. – Pat

cevap

3

Burada soru gönderdi bitmez düşünce olası bir çözüm:

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

İşte (plugin page çoğunlukla alınan) benim denetleyicisi eylem var:

Benim vatanım nesne var : Expando. İşte kontrolör yöntemine değişiklikleri var:

// 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, [:], [:]) 

Ben İhracat eklentisi bir nesneden bir değer elde etmeye çalışır gerçeğini istismar ediyorum. Yani, ona bir nesne verdim.

Daha iyi bir çözüm varsa, onu görmekten mutlu olacağım.

+0

Expendo, 3.1 ve üstü notalarda çalışmaz ve dışa aktarma eklentisi excel-export: 2.1 –

İlgili konular