2016-08-04 20 views
0

我必須在Genexus中使用jFreeChar打印一些圖。 當我獲取數據的變量是矢量類型時,我已經實現了打印圖形,在屬性中選擇dimension = Vector和Row =(項目數)。在這種情況下,我可以使用得到一個元件:訪問收集使用JAVA的Genexus項目

JAVA   categoriaBar = [!&categorias!][iBar]; 

爲& categorias向量類型的變量和的iBar之前聲明一個java屬性。

這可行,但在實際情況下,信息由SDT給出,並且此代碼不起作用。

我怎樣才能使用Java集合的一個項目,我已經嘗試下面的語句和所有返回一個Java錯誤:「表達的非法啓動」

JAVA   categoryLine = [!&jFreeChar1.Categories.Item(1)!]; 
JAVA   categoryLine = [!&jFreeChar1.Categories.Item!][1]; 
JAVA   categoryLine = [!&jFreeChar1.Categories!].get(1); 
JAVA   categoryLine = [!&jFreeChar1.Categories.Item([!1!])!]; 

是& jFreeChar1.Categories的集合。

+0

我不太明白你想做什麼。 'categoryLine'是什麼類型?在第一個例子中,你會得到一個單獨的值(例如int);但在第二個你得到一個SDT。我會嘗試在GeneXus中編寫你想要的表達式,獲取單獨的值,並將它傳遞給Java代碼,而不是其他方式......如果你告訴我們SDTs結構和你需要提取什麼值,它可能會更容易幫助你。 –

回答

0

我不完全理解你想達到什麼,但也許這個提示可以幫助你:一般來說,當你試圖在JAVA中使用SDT數據類型的語句優於使用「簡單」中間語句變量。以你爲例:

&myTempVar = &jFreeChar1.Categories.Item(1) 
java categoryLine = [!&myTempVar!]; 

只是我的2cents。