2011-11-24 21 views
3

我使用jopendocument 1.2 Railo 3.3.1.000使用jopendocument with coldfusion/railo,如何添加表格行?

http://www.jopendocument.org/start_text_2.html

List<Map<String, String>> months = new ArrayList<Map<String, String>>(); 
months.add(createMap("January", "-12", "3")); 
months.add(createMap("February", "-8", "5")); 
months.add(createMap("March", "-5", "12")); 
months.add(createMap("April", "-1", "15")); 
months.add(createMap("May", "3", "21")); 
template.setField("months", months); 

如何寫CFML代碼,或任何人有jopendocument經驗的ODT模板文件使用CFML添加行?

回答

1

List<Map<String, String>> months = new ArrayList<Map<String, String>>();

在CF方面,該代碼創建結構的陣列。因爲Java是強類型的代碼使用泛型來表示每一個包含了什麼類型的對象

List< Map<...> >   // Array containing structures 
    Map< String, String >  // Structure containing "String" values 

幸運的CF陣列內部是java.util.List對象和結構java.util.Map對象。所以你只需要用適當的鍵和值創建一個CF數組結構。然後將數組傳遞到template.setField(...)

我不確定在結構中使用哪個鍵,所以我從jOpenDocument-template-1.2.zip下載了「test.odt」模板。它顯示每個結構應該包含三(3)個鍵,表中的每列一個:name,min,max。只要你填充結構與,這應該工作:

// Create an array of structures. Each structure represents a table row. 
// The key names for columns 1-3 are: "name", "min", "max" 
months = [ 
      {name="January", min="-12", max="3"} 
      , {name="February", min="-8", max="5"} 
      , {name="March", min="-5", max="12"} 
      , {name="April", min="-1", max="15"} 
      , {name="May", min="3", max="21"} 
      , {name="June", min="5", max="32"} 
     ]; 

// populate table rows 
template.setField("months", months); 
+0

謝謝雷:)它的工作:) – tsurahman

+0

很高興我能幫忙。 – Leigh