子窗口是指在主表上雙擊,然后打開用來編輯主表中單獨一行記錄的窗體。子窗體的好處是可以將主表中主要的字段,以合理的排布方式,顯示在一個編輯窗體中,方便用戶簡潔明了地進(jìn)行數(shù)據(jù)編輯工作。
子窗口類型
常見的子窗口有三種:
SingleTableForm:單純的顯示主表的關(guān)聯(lián)字段。不包含任何的子表。
MainSubTableForm:是指既包含主表的關(guān)聯(lián)字段,也包含相應(yīng)的子表。
CutomForm:如果集成的通用子窗口不符合我們的需求的話,本平臺還支持用戶自定義子窗口。只要設(shè)置好之后進(jìn)行引用即可。
設(shè)置并啟用子窗口
新增彈出窗口:如果想啟用主表雙擊或新增打開子窗口的功能的話,就必須選中此復(fù)選框。另外,如果我們沒有設(shè)置子窗口,但是表中設(shè)置了“窗口選擇”數(shù)據(jù)規(guī)范的話,也可以通過此選項來實現(xiàn)新增數(shù)據(jù)時彈出“窗口選擇”數(shù)據(jù)規(guī)范窗口來供用戶選擇數(shù)據(jù)。
子窗口控件類型
Control:這種是直接用控件來實現(xiàn)與lnputPanel類型一樣的效果。目前還沒有做,如果lnputPanel的兩個問題無法解決的話,后續(xù)可能會考慮做這種模式。如果lnputPanel的問題解決了的話,這個類型就沒有必要做了。
lnputPanel:是指在lnputPanel控件的基礎(chǔ)上動態(tài)生成的與主表相關(guān)字段綁定的控件。此控件類型目前有兩個問題:1、第一次打開時控件閃爍嚴(yán)重。2、無法按Tab鍵在不同控件之間跳轉(zhuǎn)。優(yōu)點是:可以直觀地顯示“多文件管理”、“圖片管理”、“備注字段”類型字段。也可以自動綁定與主表相同的數(shù)據(jù)規(guī)范。
RecordGrid:是指通過RecordGrid與主表相關(guān)聯(lián),并顯示相應(yīng)的字段。用此類型的特點是,顯示效果與主表一致,主表中設(shè)置的數(shù)據(jù)規(guī)范也可以直接在這里使用。這種控件類型沒有l(wèi)nputPanel控件類型的兩個問題。唯一的缺點是無法方便地顯示“多文件管理”、“圖片管理”、“備注字段”類型字段。
控件分組
如果想實現(xiàn)下圖這樣的控件分組情況必須要保證以下幾個條件:
1、控件排布方向:RightDown
2、控件分欄數(shù):0
3、設(shè)置顯示字段
4、設(shè)置分組標(biāo)題,并進(jìn)行排序整理
控件的標(biāo)題
有的情況下,數(shù)據(jù)表的字段是英文的,我們會設(shè)置中文標(biāo)題。而有些場景下我們會為了實現(xiàn)多行標(biāo)題,會將標(biāo)題設(shè)置的很長,比如“數(shù)據(jù)規(guī)范設(shè)置_數(shù)據(jù)顯示格式”這樣的。這種就不適合當(dāng)控件標(biāo)簽顯示,而需要我們修改成一個簡單明了、短一點的標(biāo)題。我們可以通過下面的方式來實現(xiàn)修改控件左邊的標(biāo)簽。
如果數(shù)據(jù)庫中我們已經(jīng)設(shè)置了列標(biāo)題 ,可以通過“索引標(biāo)題”菜單命令來將數(shù)據(jù)管理模塊中設(shè)置的標(biāo)題查詢并填充到“控件名稱”列。
數(shù)據(jù)庫中的標(biāo)題設(shè)置,詳細(xì)內(nèi)容可以參考“表及字段備注管理”。
我們來修改兩個控件名稱來檢驗一下效果。
最后子窗體中顯示的標(biāo)簽是以“控件名稱”中設(shè)置的名稱顯示的。如果不設(shè)置的話,則以原標(biāo)題為準(zhǔn)。
控件的Tab控制
我們還可以控制按Tab鍵在控件之間跳轉(zhuǎn)的順序。
設(shè)置完成后,我們可以在子窗口中通過Tab鍵在各個字段之間切換。下面的動圖就是演示了在不同字段之間切換的效果。
設(shè)計方式
我們可以通過參數(shù)的調(diào)整(下面紅框中的參數(shù)+字段的顯示與否+控件的行數(shù)、列數(shù)等都算要調(diào)整的參數(shù)),再點擊“刷新預(yù)覽”來查看調(diào)整后的結(jié)果,最后保存即可。
子窗口設(shè)置示例
子窗口的顯示主要受以下幾個參數(shù)的影響:
以下為幾個參數(shù)影響下的效果:
子窗口控件類型:RecordGrid,控件排布方向:DownRight,控件分欄數(shù):0
子窗口控件類型:InputPanel,控件排布方向:DownRight,控件分欄數(shù):0
子窗口控件類型:RecordGrid,控件排布方向:RightDown,控件分欄數(shù):0
子窗口控件類型:InputPanel,控件排布方向:RightDown,控件分欄數(shù):0