天天看點

PB資料視窗對象之字段操作

----------

字段的編輯類型

PB提供了六種編輯類型:

1)Edit是字段的預設編輯類型,可以用于所有類型的字段上。

2)CheckBox編輯類型在這裡是一種狀态選擇,可以為其規定選中和非選中狀态時的文字,當字段的輸入内容非此即彼時,可以使用這種編輯類型。

3)DropDownDW是一種用來限制使用者輸入資料的非常好的編輯方式,使用者隻能通過選擇錄入資料,并且選擇的資料來自其他資料視窗的某字段,進而可以確定資料的一緻性和正确性。當錄入外部鍵時,經常使用這種編輯類型。使用這種方式可以增強程式的适應性和靈活性。

4)DropDownListBox在外觀上和DropDownDW類型相同,但它的資料不會發生變化,是固定的,适合用來錄入諸如學曆、省份、月份等範圍固定的資料項。

5)EditMask經常用來錄入整型或日期型資料。它底優勢在于可以給使用者提供清晰的資料格式,對使用者的操作有很強的提示性;還可以為該編輯類型設定Spin,以便用滑鼠單擊上下箭頭來增大或減小資料。

6)Radio Buttons在錄入取值為比較小範圍内的資料經常使用,使用者使用滑鼠進行選擇操作即可錄入資料,操作比較友善。

----------

字段的編輯格式

1、Limit - 限制輸入長度

可以規定在該字段中輸入的資訊長度,預設是字段在資料表中定義的長度。如果在資料視窗建立以後又添加了字段,這時預設長度是0,這時使用者所能輸入的長度取決于編輯框的長度(如果沒有設定字段的AutoHorzScroll屬性或者設定了該屬性并且Limit屬性為0,則使用者輸入的最大長度取決于編輯框所能接受的最大長度),應該手工修改其限制長度為字段在表中定義的長度。修改方法是,在字段屬性視窗的Edit頁Limited輸入框中輸入一個整數即可

2、Display Only - 不允許使用者修改

選中字段對應屬性視窗中的Display Only選項即可。在程式運作時,該字段中的内容可以顯示,并且可以獲得焦點,但是使用者不能修改字段的内容,進而起到保護資料的作用。建議使用這種方式來保護字段中的資料,雖然不能編輯字段内容,但可以選中并複制,比設定字段的Tab Order值有更多的靈活性

3、Required - 必須輸入

有些資訊要求使用者必須輸入,這時可以選中字段的Required屬性。不輸入資料就無法離開該字段。

4、Password - 密碼輸入

選中字段屬性視窗中Edit頁上的Password屬性即可,字段上資料顯示為“*”号

5、Format - 格式

屬性視圖中Edit屬性頁中包含Format屬性,并且還有一個專門的Format屬性頁。Edit屬性頁的Format屬性可以設定字段編輯時的顯示格式,Format屬性頁中的Format設定字段不被編輯時的顯示格式。

Format的設定:

Numbers:可以使用“0”、“#”、“.”和一些算術符号來表示,使用保留字“[general]”或者“[Currency]”時,PB将使用作業系統的設定格式。關于作業系統的格式,Windows可以在控制台的區域設定中修改。

[General] 5 -5 0.5

0 5 -5 1

0.00 5.00 -5.00 0.50

#,##0 5 -5 1

#,##0.00 5.00 -5.00 0.50

$#,##0;($#,##0) $5 ($5) $1

$#,##0;-$#,##0 $5 -$5 $1

$#,##0;[RED]($#,##0) $5 ($5) $1

$#,##0.00;($#,##0.00) $5.00 ($5.00) $0.50

$#,##0.00;[RED]($#,##0.00)$5.00 ($5.00) $0.50

0% 500% -500% 50%

0.00% 500.00% -500.00% 50.00%

0.00E+00 5.00E+00 -5.00E+00 5.00E-01

Strings:可以用兩部分來表示該類型資料的顯示,前面是必需部分,後面是NULL時表示。“@”代表一個字元。如:"[red](@@@)@@@-@@@@"

Dates:使用幾個特定的字母代表特定的含義,它們的組合構成Data類型的格式。

d 表示天的數字,沒有字首0 9

dd 表示天的數字,有字首0 09

ddd 星期幾的英文縮寫 Mon

dddd 星期幾的英文全稱 Monday

m 沒有字首0的月份 6

mm 有字首0的月份 06

mmm 月份的英文縮寫 Jun

mmmm 月份的英文全稱 June

yy 兩位數字表示的年份 97

yyyy 四位數字表示的年份 1997

兩位的年份如果小于50,PB則認為是21世紀;大于50則認為是20世紀。比如,“85”表示的年份PB認為是“1985”年;“40”表示的年份PB認為是“2040”。

Times:使用幾個特定的字母代表特定的含義,它們的組合構成Time類型的格式。

h 沒有字首0的表示小時的數字

hh 有字首0的表示小時的數字

m 沒有字首0的表示分鐘的數字,必須出現在h或者hh之後

mm 有字首0的表示分鐘的數字,必須出現在h或者hh之後

s 沒有字首0的表示秒的數字,必須出現在m或者mm之後

ss 有字首0的表示秒的數字,必須出現在m或者mm之後

ffffff 沒有0字首的毫秒,必須出現在s或者ss之後

AM/PM 兩個大寫的縮寫字母,代表上午和下午

am/pm 兩個小寫的縮寫字母,代表上午和下午

A/P 一個大寫的縮寫字母,代表上午和下午

a/p 一個小寫的縮寫字母,代表上午和下午

6、Auto Selection - 自動選中

當字段獲得焦點時,自動選中目前行字段中的内容,這在需要删除或者拷貝時用處比較大。選中字段對應屬性視窗中Edit頁上的auto selection即可。

7、設定滾動條

Auto Horz Scroll--自動橫向滾動

Auto Vert Scroll--自動縱向滾動

Horz Scroll Bar --橫向滾動條

Vert Scroll Bar --縱向滾動條

8、Use Code Table - 使用Code Table

使用Code Table可以自動轉換使用者的輸入資訊,也可以校驗使用者的輸入資訊是否正确。

a)選中字段的Use Code Table屬性

b)在Code Table中定義代碼表,該輸入框中包括兩列,DisplayValue用來進行顯示,Data Value是和該顯示值對應的實際值,是儲存在資料庫中的值。

c)選中Validate選項,進而可以確定使用者的輸入必須是代碼表中定義了的,否則就出現報錯資訊。

9、Show Focus Rectangle - 顯示焦點邊框

焦點邊框就是當字段獲得焦點時,在字段編輯框的周圍顯示一個矩形邊框,可以醒目地提醒使用者目前的輸入位置,這是一個比較好的界面,建議使用該屬性。選中字段對應屆性視窗Edit頁中的Show Focus Rectangle即可。Tabular預設選中

10、Accelerator - 設定加速度

可以為字段設定加速鍵,以便很快捷地定位到特定的字段上。隻要在字段對應屬性視窗Edit頁的Accelerator編輯框中輸入字母或數字即可,隻能輸入一個字元。加速鍵由Alt和所輸入的字母或數字構成。程式運作時,使用加速鍵可以将焦點馬上轉移到有該加速鍵的字段上。

11、Case - 選擇大小寫

可以給字元型字段指定大寫、小寫、還是原樣顯示輸入内容。在字段對應的屬性視窗Edit頁中的Case下拉清單框中選擇即可。Up代表始終大寫,Any代表原樣,Lower代表小寫。

----------

增加和删除字段

進入資料視窗對象的SQL Select畫闆後可以對字段進行以下三種操作:

1、增加字段

2、删除字段

3、重選字段。取消某字段,再重新選中該字段。這看起來好像沒有什麼作用。實際上,這樣做可以同步資料視窗對象和資料表的定義。當建立了資料視窗後又修改了該資料視窗對象對應資料表中某字段的定義,例如,增加了字段的長度,這是應該保證字段和資料視窗中的定義一緻,使用上面的方法就可以做到資料的一緻

*當添加字段時,PB不能正确設定新添加字段的預設屬性,必須認真檢查新添加的屬性,最重要的屬性是Limit的大小以及Show Focus Rectangle、Auto Selection和Auto Horz Scroll屬性是否選中。如果資料視窗對應的資料表中既沒有定義主鍵也沒有定義唯一性索引,并且資料視窗還是用來進行資料錄入的,這時不管是删除了資料視窗中的字段或添加了字段,還是重新選擇了字段,都要仔細檢查并重新設定資料視窗的Update屬性了,如果資料表中定義了主鍵或者唯一性索引,就不用考慮這個問題了。

----------

字段的顯示順序

在大多數顯示樣式的資料視窗中都可以使用滑鼠拖放直接改變字段的位置,惟獨grid類型的資料視窗在Design視窗中不能。解決方法是,在預覽視窗中拖動字段到适當的位置,Design視窗中的字段順序就會自動做相應的調整。

可以用字段名或者字段号來辨別一個字段。例如,産生資料視窗的SQL語句是:

select name,sex,address from addr_book;

在該資料視窗中,name和#1都是指同一個字段。顯示位置的調整不會影響字段号,字段号和産生資料視窗的SQL語句中字段的順序相對應,在SQL語句中,第一個字段對應的字段号為#1,依次增加一個。要調整字段号的順序,可以進入到SQL select畫闆,取消所有字段,再按照正确的字段順序重新選擇字段;或者切換到文法狀态,手工修改SQL文法中字段的順序。經過這樣的調整後,可能字段在資料視窗中顯示的順序沒有變化,但是字段号卻進行了重新配置設定。因為在視窗腳本中引用資料視窗的資料時,有可能用到字段号,在資料視窗的計算域中也有可能用到字段号,是以要保證字段号正确設定,尤其是習慣使用字段号引用資料時。