datawindow 是freeform風格的,在列印時,如果某個欄位內容比較長,顯示不全,希望能自動縮小字體顯示并且可以自動換行,分多行顯示,要怎么才能做到這一點,PB是否可以實作?請問各位大神。
uj5u.com熱心網友回復:
可以通程序式來判斷字串的長度,然后調整字體大小,要根欄位長度來做判斷uj5u.com熱心網友回復:
欄位與detail band的Autosize Height打勾
uj5u.com熱心網友回復:
1.在datawindow中,選中改欄位,在屬性font的size項中,點右側的等號設定運算式:如
if ( len( lookupdisplay( kcid2 ) ) <= 20 , 60, 50 )
//kcid2欄位是dddw樣式,所以加了lookupdisplay
//注意60, 50值大小請自己除錯,60相當于字體大小11

2.該欄位的高度可適當調大點,如直接是edit型別,請同時在Edit屬性中勾選Auto Vert Scroll
uj5u.com熱心網友回復:
如何在DataWindow中實作列的自動折行我們在PowerBuilder應用程式的開發程序中, 使用DataWindow時, 經常會遇
到某列的資料太長, 不能同時全部顯示的情況. 若采用自動水平滾動, 操作起
來又不夠簡便. 下面介紹一種方法, 實作列資料多行顯示, 即實作列資料的自
動折行.具體步驟如下:
1) 在DataWindow Painter中打開此DataWindow.
2) 在需設定自動折行的列上雙擊滑鼠, 彈開此列的屬性視窗.
3) 選擇Position標簽, 選中Autosize Height 多選框.
4) 選擇Edit標簽, 不選中Auto Horz Scroll多選框.
5) 單擊OK按鈕, 保存所做的修改.
6) 點中Detail Band (即寫有Detail的灰色長帶), 單擊滑鼠右鍵, 選擇
Properties... 選單項.
7) 選中Autosize Height多選框.
8) 單擊OK按鈕, 保存所做的修改.
9) 保存此DataWindow.
注意:
連在一起的漢字(中間沒有標點或空格分隔), 系統將認為是一個單詞, 不
會自動進行折行.
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/26469.html
標籤:DataWindow
