如何在GRID中加入復(fù)選框?
*----------------------------- 方法一: 1、把GRID的列數(shù)改為>0 &&方法二不需要此項(xiàng) 2、右鍵單擊GRID,編輯,在工具條中把checkbox拿到要加入復(fù)選框的列中 3、右鍵單擊GRID,編輯,然后選擇加入復(fù)選框的列。 在屬性窗口上的“數(shù)據(jù)”頁(yè)面上把Grid的Colum(加入復(fù)選框的Column)的currentcontrol值改成check1, 然后根據(jù)你的需要修改Sparse的值,來(lái)指定 CurrentControl 屬性是影響列對(duì)象中的全部單元,還是僅影響列對(duì)象中的活動(dòng)單元。 方法二:在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的數(shù)據(jù)源也可以不是Grid的數(shù)據(jù)源 scan This.column3.Combo100.additem(字段名) endscan -------------------------------------------------------------------------- 在表格列中顯示控件 除了在表格中顯示字段數(shù)據(jù),還可以在表格的列中嵌入控件,這樣就為用戶提供嵌入的文本框、復(fù)選框、下拉列表框、微調(diào)按鈕和其他控件。例如,如果表中有一個(gè)邏輯字段,當(dāng)運(yùn)行該表單時(shí),通過(guò)辨認(rèn)復(fù)選框可以判定哪個(gè)記錄值是“真”(.T.) 和哪個(gè)記錄值是“假”(.F.)。修改這些值只需設(shè)置或清除復(fù)選框即可。 可以在“表單設(shè)計(jì)器”中交互地向表格列中添加控件,也可以通過(guò)編寫(xiě)代碼在運(yùn)行時(shí)刻添加控件。 若要交互地在表格列中添加控件 在表單中添加一個(gè)表格。 在“屬性”窗口中,將表格的 ColumnCount 屬性設(shè)置為需要的列數(shù)。 例如,如果需要一個(gè)兩列的表格則鍵入“2”。 在“屬性”窗口的“對(duì)象”框中為控件選擇父列。 例如,要選擇 Column1 來(lái)添加控件,當(dāng)選擇這一列時(shí),表格的邊框發(fā)生變化,表明正在編輯一個(gè)包含其中的對(duì)象。 在“表單控件”工具欄中選擇所要的控件,然后單擊父列。 在“表單設(shè)計(jì)器”中,新控件不在表格列中顯示,但在運(yùn)行時(shí)刻會(huì)顯示出來(lái)。 在“屬性”窗口中,要確保該控件縮進(jìn)顯示在“對(duì)象”框中父列下面。 添加到表格列中的復(fù)選框 如果新控件是一個(gè)復(fù)選框,應(yīng)將復(fù)選框的 Caption 屬性設(shè)置為“ ”,并將列的 Sparse 屬性設(shè)置為“假”(.F.)。 將父列的 ControlSource 屬性設(shè)置為需要的表字段。 例如,下面的演示中,列的 ControlSource 屬性是文件 TESTDATA.DBC 的 products.discontinu,這個(gè)文件保存在 \Samples\VFP\DATA 目錄下。 將父列的 CurrentControl 屬性設(shè)置為新加入的控件。 當(dāng)運(yùn)行表單時(shí),這個(gè)控件將顯示在表格列中。 在運(yùn)行時(shí)刻,復(fù)選框顯示在列中 提示 如果想讓復(fù)選框在表格列中居中,可先創(chuàng)建一個(gè)容器類(lèi),將復(fù)選框添加到容器類(lèi)中,并調(diào)整復(fù)選框在容器類(lèi)中的位置。然后將容器類(lèi)添加到表格列中,并將復(fù)選框的 ControlSource 屬性設(shè)置為需要的字段。 若要在“表單設(shè)計(jì)器”中移去表格列中的控件 在“屬性”窗口的對(duì)象框中選擇要移去的控件。 激活“表單設(shè)計(jì)器”。 如果“屬性”窗口可見(jiàn),控件的名稱(chēng)將顯示在“對(duì)象”框中。 按下 DELETE 鍵。 也可以在代碼中使用 AddObject 方法程序?qū)⒖丶砑拥奖砀窳兄小? 若要通過(guò)代碼將控件添加到表格列 請(qǐng)?jiān)诒砀竦? Init 事件中,使用 AddObject 方法程序?qū)⒖丶砑拥奖砀窳?,然后設(shè)置列的 CurrentControl 屬性。 例如,Init 事件包含了如下代碼,向列中添加兩個(gè)控件,并將其中一個(gè)設(shè)置為當(dāng)前控件: THIS.grcColumn1.AddObject("spnQuantity", "SPINNER") THIS.grcColumn1.AddObject("cboQuantity", "COMBOBOX") THIS.grcColumn1.CurrentControl = "spnQuantity" * 下面的代碼確??丶强梢?jiàn)的,并且顯示在表格中的每一行。 THIS.grcColumn1.spnQuantity.Visible = .T. THIS.grcColumn1.Sparse = .F. 在本例中,Column1 有三個(gè)可能的當(dāng)前控件值: spnQuantity cboQuantity Text1 (默認(rèn)控件) 注釋 在表格級(jí)上設(shè)置的屬性并不會(huì)傳到列或標(biāo)頭。因此,必須直接設(shè)置標(biāo)頭或所包含控件的屬性,它們不會(huì)繼承列級(jí)別的屬性設(shè)置。 提示 要想在表格列中顯示組合框最佳狀態(tài),請(qǐng)?jiān)O(shè)置下列組合框?qū)傩浴? BackStyle = 0 && s- Margin = 0 SpecialEffect = 1 && -G BorderStyle = 0 && r 在表格中進(jìn)行有條件的格式設(shè)置 表格中的特定格式能讓用戶更容易瀏覽表格記錄,并找出想要的信息。如果想進(jìn)行有條件的格式設(shè)置,可使用列的動(dòng)態(tài)字體和顏色屬性。 例如,可以將表格添加到表單中,并將 ColumnCount 屬性設(shè)置為 2。將第一列的 ControlSource 屬性設(shè)置為 orders.to_name,第二列的 ControlSource 屬性設(shè)置為 orders.order_net。如果想用黑色的前景色顯示少于 500.00 的訂貨總計(jì),用紅色的前景色顯示大于或等于 500.00 的訂貨總計(jì),可在表格的 Init 事件代碼中包含下列代碼: THIS.Column2.DynamicForeColor = ; "IIF(orders.order_net >= 500, RGB(255,0,0), RGB(0,0,0))" 常用的表格屬性 下表列出了設(shè)計(jì)時(shí)刻常用的表格屬性。 屬性 說(shuō)明 ChildOrder 和父表的主關(guān)鍵字相聯(lián)接的子表中的外部關(guān)鍵字。 ColumnCount 列的數(shù)目。如果 ColumnCount 設(shè)置為 -1,表格將具有和表格數(shù)據(jù)源中字段數(shù)一樣多的列。 LinkMaster 顯示在表格中的子記錄的父表。 RecordSource 表格中要顯示的數(shù)據(jù)。 RecordSourceType 表格中顯示數(shù)據(jù)來(lái)源于何處:表、別名 、查詢或用戶根據(jù)提示選定的表 對(duì)于combo 組件﹐如果我只想讓用戶從下接框中選一個(gè)值﹐而不想用戶自已輸入﹐應(yīng)如何設(shè)定combo的屬啊﹐﹐
我試了設(shè)定combo1.readonly = .t. 但結(jié)果下拉式框都打不開(kāi)了﹐﹐應(yīng)如何設(shè)置呢 ﹖ 將ComboBox的Style屬性設(shè)為2
|
|