你好,
我有這個腳本創建多圖表並將它們附加到報表中。 由於每個用戶都有自己的分辨率,有時圖形在筆記本電腦上看起來太大或太小。我知道你可以通過拖動核心器來重新調整圖形的大小,但是當有8個圖形時,這將成為一項單調乏味的任務。
這是我的通用代碼,最後是我創建的腳本,問題是,它只調整了最後創建的圖形。
Build_chart = Function( {param},
gb = dt1 << Graph Builder(
Size( x, y ),
Show Control Panel( 0 ),
Automatic Recalc( 1 ),
Variables( X( :MEASUREMENT_DATE ), Y( :CHART_VALUE )),
Elements( Points( X, Y, Legend( 1 ), Jitter( 1 ) ), Smoother( X, Y, Legend( 2 ) ) ),
Where( :parameter == param );
);
filter << append(
tool_filter = Outline Box( "General data filter",
V List Box( "Slider Box",
tb = Text Box( "Value: " || Char( sliderValue ) ),
sb = Slider Box( 0.4, 1, sliderValue, chart_size )
)
)
);
For( j = 1, j <= N Items( param_list ), j++,
graph << append( Report( Build_chart( param_list[j] ) ) )
);
chart_size = Expr(
xr=sb<<GET></GET>提前致謝!
嗨,謝謝它的工作,除了報告中的第一個圖表。也許我需要拋棄foor循環中的“報告”?
函數build_chart構建圖表。是的,它是一個v_list框,它附加到它。
編輯:我不得不將面板框更改為v列錶框,現在它可以正常工作。
我對你的劇本感到困惑;我沒有看到對像圖的定義位置,並且您正在為其添加圖形構建器框。
假設graph是一個容器盒,例如,OutlineBox,VListBox,ScrollBox等。像這樣的東西應該工作,其中w是計算的寬度,類似於h。
Xpath查找所有graphbuilder元素並將其存儲在列表(_xx)中,發送到此列表的任何有效消息都將應用於列表中的所有項目。
_xx = graph << XPath( "//GraphBuilderBox");
_xx << set width( w ) << set height( h ) ;