|
 
- UID
- 124
- 帖子
- 4245
- 积分
- 28626
- 威望
- 1939 点
- A币
- 12901 元
- 阅读权限
- 200
- 最后登录
- 2008-11-28
  
|
1#
发表于 2005-12-9 19:58
| 只看该作者
---摘自《电脑报》
1.组合框ComboBox的多栏使用
熟悉VFP的用户都知道ComboBox对象若显示多栏式时,正常选择结果会以第一栏的内容显示在选择项目上。但实际系统设计中要显示多个栏位如图书编号、名称、作者和出版商,而选定的结果及要传递的值则可能是其中的任意一项,此时实现方法如下:
(1)设定ComboBox对象的属性ColumnCount为4;属性ColumnCountWidth为12,40,12,40;属性RowSourceType为Field;属性RowSource为bookcode,title,writer,publisher。
(2)设定ComboBox对象的属性BoundColumn为2,表示图书名称为要显示的内容。
(3)设定ComboBox对象的事件Interactive Change Event的内容如下:
ThisDisplayValue=ThisValue
如欲将显示的内容贮存于其他变量,可添加如下内容:
PublicUnknow_str
Unknow_str=Thisvalue
2.组合框Combobox的使用
(1〉组合框内要显示多列,可改变ColumnCount特性,但此时若不设置列宽度,将仅显示第一列。可以通过逗号分隔的清单列来指定列宽。如:用“10,50,100”设置三列宽度。
(2〉要想让用户每次查找时输入一个字母,把IncrementalSearch特性设置为True,运行时,当用户输入一个字母时,高亮条将移列表中第一个字母和输入字母相匹配的第一条目上。
(3〉要将输入的内容加入到下拉列表中,可在组合框的Valid事件中加入This.Additem(This.Displayvalue)代码。
3、ComboBox(组合框)的选择性输出
控件ComboBox综合了TextBox(文本框)和ListBox(列表框)的特性,可显示一列项目。但要在ComboBox中对Table(表)中的某个Field(字段)的内容进行选择性输出却较为困难。现利用Foxpro的Query,举出一种解决办法:
(1)设置Combo1的Style属性为2-Dropdown List(下拉列表框)。
(2)设置Combo1.Rowsourcetype为4-Query(.QPR)查询文件。
(3)设置Combo1.Rowsource为符合要求的查询文件。
如:Select Sinfor.name &&选择表中的字段
From Database!Sinfor &&标明表所在的数据库
Where Sinfor.name IN(″王″)
OR(Sinfor.name IN(″李″))
这样便能在数据库Database中的表Sinfor的字段name中找出姓王和姓李的名字,并在ComboBox中输出。此外,查询文件可利用Foxpro的Query自动生成。
4.网格(Grid)的使用
(1〉在网格中交替显示颜色
记录号有序排列时,可以在网格的列中交替显示白色和灰色的记录,代码如下:
thisform.Grid1.SetAll("DynamicBackColor","IIF(MOD(RECNO(),2)=0,RGB(255,255,255),RGB(192,192,192))","Column",&&交替显示白色和绿色的记录
(2〉符合条件的记录显示颜色
进行查询时,想在网格中动态地显示符合条件的记录的颜色,可以充分利用DynamicBackColor和DynamicForeColor特性。下例将符合条件的记录的字体变为红色Thisform.Grid1.Column1.DynamicForeColor="IIf(Database.Category_ID='A02',RGB(225,0,0),RGB(0,0,124))" |
|