在gx中有結構體類型(structure data type )
我們需要先定義此結構類型,如 &ArrayList (Collection = true)
item :
no decimal(8) 編號
num decimal(8) 數量
應用:在grid中的每一行數據,彙總合計,如果有相同編號的,數量要累加,最後出合計的報表。
思路:可以添加每行數據到結構體,爲了結構體數據之編號保持唯一性,如果存在,數量相加,如果不存在,則添加。
for each line
&found_flag = 'N'
for &i = 1 to &ArrayList.count
if &no = &ArrayList.item(&i).no //比較編號,如果相同,數量累加
&ArrayList.item(&i).num += &num
&found_flag = 'Y'
exit //找到後,就不繼續比較了,因爲肯定沒有相同編號,節約時間,提高效率
endif
endfor
if &found_flag <> 'Y'
&ArrayListItem.no = &no
&ArrayListItem.num = &num
&ArrayList.Add(&ArrayListItem)
endif
endfor