在開始之前,先修改 Designer 垂直水平座標軸的單位,可以從「工具 > 選項 > iReport > General > Units」做修改。
還有重要的選取單一或多個物件方式:
- 從 Report Inspector 展開各個 Bands,就可以看到該 Band 裡所有的元件,單點就可以選取 Designer 裡的元件並顯示在「屬性」視窗,可以搭配 Ctrl 或 Shift 做多筆選取。
- 從 Designer 裡直接單點,可以搭配 Ctrl 做多筆選取。
- 從 Designer 裡框選,往右框選必須整個物件框進才算選到,往左框選只要摸到邊就算選到。
從 Report Inspector 選取元件有個好處,就是當元件在 Designer 裡被蓋住,或看不到時,用 Report Inspector 做選取就很方便。
半自動排版
熊熊看到滿盤的 Formatting Tools,可能會退避三舍。
如果 iReport 可以分類一下會比較友善一點,不然每次都得找到眼花。
第一種分類方式,就是依據選取的元件(Element)數量,下圖顯示的是選取一個元件時可以使用的 Tool 。
選取兩個元件以上時,則所有的 Tool 都可以使用,包括上圖一個元件可用的 Tool。
第二種分類方式,就是依據功能。
- 對齊類
- Align Top/Bottom/Left/Right - 對齊第一個元件的四個邊緣
- Align Horizontal/Vertical Axes - 對齊第一個元件的中心水平軸/中心垂直軸
- Align To Top/Bottom/Left/Right Margin - 對齊 Container 的四個邊緣
- Center /Horizontally/Vertically - 對齊 Container 的正中心/中心垂直軸/中心水平軸
- 排版類
- Organize As Table - 水平方向排列,水平距離相等(約10px),最左上元件貼齊 Container 左上角
- Join Left/Right - 水平方向排列,無水平距離(前後緊貼),向左/右靠齊
- Equal/Increase/Decrease/Remove Horiz. Space - 均分/增加/減少/移除水平距離,垂直位置不變
- Equal/Increase/Decrease/Remove Vert. Space - 均分/增加/減少/移除垂直距離,水平位置不變
- 調整尺寸類
- Same Width/Height (/Min/Max) - 與第一個/最小的/最大的元件同寬/同高
- Same Size - 與第一個元件同大小
- Adapt to parent /width/height - 與 Container 同大小/同寬/同高
後來在 Report Inspector 對元件按右鍵,發現 iReport 有對 Formatting Tools 做分類:
- Align
- Size
- Position
- Horizontal Spacoing
- Vertical Spacing
- Organize As Table
純手工排版
看過神奇的半自動排版工具,還是補充一下純手工的排版方式。
純手工排版最需要的就是「自動吸附」功能,iReport 提供兩種「自動吸附」。
- 網格吸附(Grid)
先從「檢視 > Report Designer > Show Grid」顯示網格,再從「檢視 > Report Designer > Snap to Grid」開啟網格吸附功能。 - 物件吸附
物件指的是已有的元件、Band 邊界與導線 Guideline,只要在座標軸上單點就可以產生一條導線,按住不放可以移動,移出左上角導線就會消失。
元件利用導線對齊後,再移動導線並不會連帶移動以其對齊的元件。
記住,兩種「自動吸附」只能二選一,開啟了網格吸附,物件吸附就自動失效。
特別的屬性 - Position Type
上面提到的排版結果,都是回歸到 Top、Left、Width 與 Height 四個屬性,另外還有一個屬性會影響到元件的位置,那就是 Position Type,有三個值可以設定:
- Fix Relative To Top
完全鎖死 Top 與 Left,即使前一個元件因內容而動態加高了,超出定義高度,也不會影響到這個元件的位置,而會出現覆蓋的情形。 - Fix Relative To Bottom
鎖死元件與 Band 下邊緣的距離,若前一個元件因內容而動態加高了,超出定義高度,連帶會使 Band 高度增加,而使 Band 下緣延伸,使用這個設定值,則會讓該元件跟著 Band 下緣走,所以不會出現「Fix Relative To Top」那種覆蓋的情形,多半用在資料分隔線。
但是若在這個元件與 Band 下邊緣中間還有其他元件的話,就還是可能出現覆蓋的情形 - Float
會被前一個元件推著走,所以絕不會出現覆蓋的情形。
元件搬家
最後就是很少發生的需求,元件搬家,從一個 Band 搬到另一個 Band,精確的作法就是在 Report Inspector 裡拖拉,不精確的作法就是在 Designer 裡拖拉,在 Designer 裡移動元件,一定要確定整個元件包在 Container 裡,iReport 不允許元件超出 Band 邊界。
元件重疊了?
元件是可以重疊的,最常用在多個元件同時只會顯示一個元件的需求上,可以用「Print When Expression」控制。
重疊的另一個議題是順序,就是誰在上誰在下,以 Report Inspector 的樹狀圖來看,離父節點愈遠的,也就是排在愈下面的元件,是在最上層的,在 Report Inspector 對元件按右鍵,有四個順序相關的功能可用:
- Bring To Front - 移到最上層
- Bring Forward - 往上移一層
- Send Backward - 往下移一層
- Send To Back - 移到最下層
除了少數元件以外,大部分元件是可以複製再貼上的。
沒有留言:
張貼留言