仁和都市花园最新消息:vfp 關于combo等控件在grid中的方法

来源:百度文库 编辑:偶看新闻 时间:2024/04/29 15:56:13
如何在GRID中加入复选框?  
   
  *-----------------------------  
   
  方法一:  
   
  1、把GRID的列数改为>0   &&方法二不需要此项  
  2、右键单击GRID,编辑,在工具条中把checkbox拿到要加入复选框的列中  
  3、右键单击GRID,编辑,然后选择加入复选框的列。  
        在属性窗口上的“数据”页面上把Grid的Colum(加入复选框的Column)的currentcontrol值改成check1,  
        然后根据你的需要修改Sparse的值,来指定   CurrentControl   属性是影响列对象中的全部单元,还是仅影响列对象中的活动单元。  
   
   
  方法二:在Grid的INIT事件中:  
   
  WITH   This.column4      
  .addobject("Check1","CheckBox")      
  .currentcontrol='Check1'      
  .sparse=.f.  
  .Check1.Caption=''  
  .Check1.visible=.t.  
  ENDWITH  
  *******************************************************************  
  同理可向GRID中添加日历控件及COMBOBOX   控件等  
   
  GRID的INIT事件  
   
  WITH   This.column3    
  .addobject("Combo100","ComboBox")      
  .currentcontrol='Combo100'      
  .sparse=.f.  
  .Combo100.RowSourceType=0  
  .Combo100.visible=.t.  
  ENDWITH  
   
  select   表名   &&此表可以是Grid的数据源也可以不是Grid的数据源  
  scan  
  This.column3.Combo100.additem(字段名)  
  endscan  
   
   
   
   
   
   
  --------------------------------------------------------------------------  
   
  在表格列中显示控件  
  除了在表格中显示字段数据,还可以在表格的列中嵌入控件,这样就为用户提供嵌入的文本框、复选框、下拉列表框、微调按钮和其他控件。例如,如果表中有一个逻辑字段,当运行该表单时,通过辨认复选框可以判定哪个记录值是“真”(.T.)   和哪个记录值是“假”(.F.)。修改这些值只需设置或清除复选框即可。  
  可以在“表单设计器”中交互地向表格列中添加控件,也可以通过编写代码在运行时刻添加控件。  
  若要交互地在表格列中添加控件    
  在表单中添加一个表格。  
  在“属性”窗口中,将表格的   ColumnCount   属性设置为需要的列数。    
  例如,如果需要一个两列的表格则键入“2”。  
  在“属性”窗口的“对象”框中为控件选择父列。    
  例如,要选择   Column1   来添加控件,当选择这一列时,表格的边框发生变化,表明正在编辑一个包含其中的对象。  
  在“表单控件”工具栏中选择所要的控件,然后单击父列。    
  在“表单设计器”中,新控件不在表格列中显示,但在运行时刻会显示出来。  
  在“属性”窗口中,要确保该控件缩进显示在“对象”框中父列下面。    
  添加到表格列中的复选框    
  如果新控件是一个复选框,应将复选框的   Caption   属性设置为“   ”,并将列的   Sparse   属性设置为“假”(.F.)。  
  将父列的   ControlSource   属性设置为需要的表字段。    
  例如,下面的演示中,列的   ControlSource   属性是文件   TESTDATA.DBC   的   products.discontinu,这个文件保存在   \Samples\VFP\DATA   目录下。  
  将父列的   CurrentControl   属性设置为新加入的控件。    
  当运行表单时,这个控件将显示在表格列中。  
  在运行时刻,复选框显示在列中  
  提示   如果想让复选框在表格列中居中,可先创建一个容器类,将复选框添加到容器类中,并调整复选框在容器类中的位置。然后将容器类添加到表格列中,并将复选框的   ControlSource   属性设置为需要的字段。  
  若要在“表单设计器”中移去表格列中的控件    
  在“属性”窗口的对象框中选择要移去的控件。  
  激活“表单设计器”。    
  如果“属性”窗口可见,控件的名称将显示在“对象”框中。  
  按下   DELETE   键。    
  也可以在代码中使用   AddObject   方法程序将控件添加到表格列中。  
  若要通过代码将控件添加到表格列    
  请在表格的   Init   事件中,使用   AddObject   方法程序将控件添加到表格列,然后设置列的   CurrentControl   属性。    
  例如,Init   事件包含了如下代码,向列中添加两个控件,并将其中一个设置为当前控件:  
  THIS.grcColumn1.AddObject("spnQuantity",   "SPINNER")  
  THIS.grcColumn1.AddObject("cboQuantity",   "COMBOBOX")  
  THIS.grcColumn1.CurrentControl   =   "spnQuantity"  
  *   下面的代码确保控件是可见的,并且显示在表格中的每一行。  
  THIS.grcColumn1.spnQuantity.Visible   =   .T.  
  THIS.grcColumn1.Sparse   =   .F.  
  在本例中,Column1   有三个可能的当前控件值:    
  spnQuantity  
  cboQuantity  
  Text1   (默认控件)    
  注释   在表格级上设置的属性并不会传到列或标头。因此,必须直接设置标头或所包含控件的属性,它们不会继承列级别的属性设置。  
  提示   要想在表格列中显示组合框最佳状态,请设置下列组合框属性∶  
  BackStyle   =   0   &&   s-  
  Margin   =   0  
  SpecialEffect   =   1   &&   -G  
  BorderStyle   =   0   &&   r  
  在表格中进行有条件的格式设置  
  表格中的特定格式能让用户更容易浏览表格记录,并找出想要的信息。如果想进行有条件的格式设置,可使用列的动态字体和颜色属性。  
  例如,可以将表格添加到表单中,并将   ColumnCount   属性设置为   2。将第一列的   ControlSource   属性设置为   orders.to_name,第二列的   ControlSource   属性设置为   orders.order_net。如果想用黑色的前景色显示少于   500.00   的订货总计,用红色的前景色显示大于或等于   500.00   的订货总计,可在表格的   Init   事件代码中包含下列代码:  
  THIS.Column2.DynamicForeColor   =   ;  
  "IIF(orders.order_net   >=   500,   RGB(255,0,0),   RGB(0,0,0))"  
  常用的表格属性  
  下表列出了设计时刻常用的表格属性。  
  属性   说明    
  ChildOrder   和父表的主关键字相联接的子表中的外部关键字。    
  ColumnCount   列的数目。如果   ColumnCount   设置为   -1,表格将具有和表格数据源中字段数一样多的列。    
  LinkMaster   显示在表格中的子记录的父表。    
  RecordSource   表格中要显示的数据。    
  RecordSourceType   表格中显示数据来源于何处:表、别名   、查询或用户根据提示选定的表 對于combo   組件﹐如果我只想讓用戶從下接框中選一個值﹐而不想用戶自已輸入﹐應如何設定combo的屬啊﹐﹐  
   
  我試了設定combo1.readonly   =   .t.     但結果下拉式框都打不開了﹐﹐應如何設置呢   ﹖将ComboBox的Style属性设为2