如何在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
|
|