一。組合框(combobox):組合框和列表框的功能類似,但使用更為靈活,更為常用。實際上,組合框是由一個文本框和一個列表框組成的,組合框又被稱為彈出式菜單。用戶使用時,單擊文本框右側的三角即可展開下拉列表,如圖27
二。組合框常用的屬性:見下表
屬性 | 作用 |
rowsource | 組合框內容從何處來(來源) |
rowsourcetype | 組合框內容來源的類型,詳見注1 |
displayvalue | 選擇值 |
boundcolumn | 在組合框包含多項時指定哪一列作為value屬性的值 |
columncount | 行源列數 |
list(i) | 第i行的值 |
selected(i) | 第i行是否被選中 |
multiselect | 是否可以同時選取多項 |
moverbars | 項目是否可以移動 |
sorted | 當rowsourcetype為0和1時,組合框內容是否按字母大小排序 |
listindex | 組合框中當前被選定項的索引值 |
integralheight | 組合框的高度是否可自動調整 |
listcount | 組合框中數據項的數目 |
style | 指定組合框的類型.參數如下:0-下拉組合框,也可在文本框中直接輸入 2-下拉列表框,只能在展開的下拉列表中選擇 |
incrementalsearch | 確定在鍵盤操作時是否支持增量搜索.值為.T.,當用鍵盤選擇列表項,用戶敲一個鍵,系統將自動定位到與輸入字母相應的項前 |
注1(rowsourcetype屬性可指定的值):
0-無,運行時使用列表框的確良additem和addlistitem方法加入
1-值,將列表框的內容在設計時直接寫在該屬性中
2-表別名:由columncount確定表中選擇的字段。當用戶選擇列表框時,記錄指針將自動移到該記錄上
3-sql語句:見sql部分,由執行的結果產生。
4-查詢文件名:見查詢部分,由查詢結果產生
5-數組名
6-字段名表:可用表別名作為字段前綴。當用戶選擇列表項時,記錄指針將自動移到該記錄上
7-文件名描述框架,可包含"*"和"?"來描述在列表框中顯示的文件名
8-結構
9-彈出式菜單,提供向后兼容。
Visual FoxPro基礎教程完整版二。組合框常用的方法:見下表
方法 | 作用 |
additem | 增加列表項 |
removeitem | 移去列表項 |
clear | 移去所有列表項 |
requery | 當rowsourcetype為3和4時,根據rowsource中的最新數據重新刷新列表項 |
三。組合框常用事件:列表框的常用事件為click(單擊)事件、dbclick(雙擊)事件和interactivechange事件(當用戶使用鍵盤或鼠標更改組合框的值時發生的事件,比如,我們單擊組合框右側的三角展開下拉列表時,即會發生此事件)
四。組合框示例:修改表單xggz.scx,使用組合框控件展示其中的"文化程度"和"職稱"兩個字段的內容
1.打開表單xggz.scx,該表單的制作方法見第二章第二節內容
2.該表單中,"文化程度"和"職稱"兩個字段的內容原先使用的是文本框控件。我們選中這兩上文本框,將其刪除。再添加兩個組合框,其中Combo1用于展示"文化程度"字段的值,Combo2用于展示"職稱"字段的值,如圖28
3.選中combo1,在"屬性"窗口中將其rowsoucetype屬性值改為"6-字段",將rowsource屬性值改為"職工檔案。文化程度", 并將combo1的ctrolsource屬值設為"職工檔案。文化程度".同樣方法,設combo2的rowsourcetype屬性值設為"6-字段",將rowsource屬性值設為"職工檔案。職稱",并將其controlsource屬性值設為"職工檔案。職稱".
4.運行修改后的xggz.scx表單,如圖30,
我們可以看到,單擊"上一條","下一條"等命令按鈕時,每條記錄的"文化程度"和"職稱"均不同。單擊combo1和combo2,在列表中選擇一個值,程序即用該值來更改表中相應字段的值。
Visual FoxPro基礎教程完整版