VFP 愛用者社區 首頁 VFP 愛用者社區
本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
 
 常見問題常見問題   搜尋搜尋   會員列表會員列表   會員群組會員群組   會員註冊會員註冊 
 個人資料個人資料   登入檢查您的私人訊息登入檢查您的私人訊息   登入登入

點樣可以係個browse window可取得值呀~~

 
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區
上一篇主題 :: 下一篇主題  
發表人 內容
holycastle



註冊時間: 2004-05-29
文章: 11
來自: 香港-大陸(兩邊走...)

第 1 樓

發表發表於: 星期一 五月 31, 2004 12:29 am    文章主題: 點樣可以係個browse window可取得值呀~~ 引言回覆

你地好呀, 好多謝你地之前幫過我有關read events的問題

我le個外行人..又有問題想請教大家啦~~

我係個form入面, 利用 data environment 加入左個browse table, 但係我唔知點知做d咩先可以用mouse click這個 table 的 value就可以攞到這個value呀

你地可以教下我嗎~~~ Embarassed
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
Ruey



註冊時間: 2003-03-12
文章: 1698
來自: tunglo

第 2 樓

發表發表於: 星期一 五月 31, 2004 1:38 am    文章主題: 引言回覆

1.Grid的屬性--RecordSource設定你要關聯的資料表
如客戶基本資料
RecordSourceType設定為0.Table

在TextBox的屬性--ControlSource設定你要關聯的資料表欄位
如客戶基本資料.客戶代號

2.在Grid中的Text1事件Click
THISFORM.REFRESH
這時使用者按下按鈕即會更新畫面內容.





或許這你用的上
1.如何從表單return 一個以上的變數
http://fox.hanyu.com.tw/View.aspx?fbId=1&Id=16249

2.請教如何在調用表單後讓它返回一個數組?
http://fox.hanyu.com.tw/View.aspx?fbId=1&Id=8715

來源:紅狐網站 Jack許
代碼:
********************************
******************************
****************************** Save as SelForm.prg //Do it
 Form1=  CreateObject("Form1")
 Form1.Show
 Read Events
 RELEASE ALL EXTENDED
*On Shutdown
 Clear ALL
*Quit
 RETURN

*====================
DEFINE CLASS Form1 AS form
Top = 0
Left = 74
DoCreate = .T.                                                                 
ShowTips = .T.                                                                 
Caption = "Form1"                                                               
WindowType = 1                                                                 
AlwaysOnTop = .T.                                                               
Name = "Form1"                                                                 

*====================
ADD OBJECT LBL客戶編號1 AS LABEL WITH ;
Caption = "客戶編號:"                                                        ,;
Left = 16, Top = 7, Width = 51                                               ,;
Visible = .T.                                                                ,;
Name = "LBL客戶編號1"                                                           
                                                                               
*====================
ADD OBJECT 客戶編號1 AS TEXTBOX WITH ;
ControlSource = "oCust.客戶編號"                                             ,;
InputMask = "XXXXX"                                                          ,;
Left = 72, Top = 4, Width = 63                                               ,;
Visible = .T.                                                                ,;
Name = "客戶編號1"                                                             
                                                                               
*====================
ADD OBJECT LBL公司名稱1 AS LABEL WITH ;
Caption = "公司名稱:"                                                         ,;
Left = 16, Top = 60, Width = 51                                               ,;
Visible = .T.                                                                 ,;
Name = "LBL公司名稱1"                                                           
                                                                               
*====================
ADD OBJECT 公司名稱1 AS TEXTBOX WITH ;
ControlSource = "oCust.公司名稱"                                             ,;
InputMask = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"                       ,;
Left = 72, Top = 58, Width = 288                                             ,;
Visible = .T.                                                                ,;
Name = "公司名稱1"
                                                                               
*====================
ADD OBJECT LBL連絡人1 AS LABEL WITH ;
Caption = "連絡人:"                                                          ,;
Left = 16, Top = 111, Width = 51                                             ,;
Visible = .T.                                                                ,;
Name = "LBL連絡人1"                                                             
                                                                               
*====================
ADD OBJECT 連絡人1 AS TEXTBOX WITH ;
ControlSource = "oCust.連絡人"                                               ,;
InputMask = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"                                 ,;
Left = 72, Top = 108, Width = 218                                            ,;
Visible = .T.                                                                ,;
Name = "連絡人1"                                                               
                                                                               
*====================
ADD OBJECT LBL電話1 AS LABEL WITH ;
Caption = "電話:"                                                            ,;
Left = 16, Top = 147, Width = 51                                             ,;
Visible = .T.                                                                ,;
Name = "LBL電話1"
                                                                               
*====================
ADD OBJECT 電話1 AS TEXTBOX WITH ;
ControlSource = "oCust.電話"                                                 ,;
InputMask = "XXXXXXXXXXXXXXXXXXXXXXXX"                                       ,;
Left = 72, Top = 144, Width = 175                                            ,;
Visible = .T.                                                                ,;
Name = "電話1"                                                                 
                                                                               

*[x]=================
PROCEDURE Destroy
          RELEASE THISFORM
          CLEAR EVENTS
          QUIT
ENDPROC

*====================
PROCEDURE Load
    SET SAFE off

    CREATE CURSOR Cust (客戶編號 C(5),公司名稱 C(40),連絡人 C(30),電話 C(24))

    Insert INTO Cust Values ( "ALFKI","三川實業有限","陳小姐","(02) 968-9652")
    Insert INTO Cust Values ( "ANATR","東南實業    ","黃小姐","(03) 862-9682")
    Insert INTO Cust Values ( "ANTON","坦森行貿易  ","胡先生","(04) 256-6932")
    Insert INTO Cust Values ( "AROUT","國頂有限公司","王先生","(05) 555-7788")
    Insert INTO Cust Values ( "BERGS","喻台生機械  ","李先生","(06) 245-9636")
    Insert INTO Cust Values ( "BLAUS","琴花卉      ","劉先生","(07) 556-6665")
    Insert INTO Cust Values ( "BLONP","皓國廣兌    ","方先生","(08) 889-6698")
    Insert INTO Cust Values ( "BOLID","邁多貿易    ","劉先生","(02) 221-2555")
    Insert INTO Cust Values ( "BONAP","琴攝影      ","謝小姐","(03) 247-9682")
    Insert INTO Cust Values ( "BOTTM","中央?#125;發    ","王先生","(04) 358-6932")
    Insert INTO Cust Values ( "BSBEV","宇奏雜誌    ","?#125;先生","(05) 999-7788")
    Insert INTO Cust Values ( "CACTU","威航貨運承攬","李先生","(06) 852-9636")
    Insert INTO Cust Values ( "CENTC","三捷實業    ","林小姐","(07) 223-6665")
    Insert INTO Cust Values ( "CHOPS","嗨天旅行社  ","林小姐","(08) 784-6698")
    Insert INTO Cust Values ( "COMMI","美國運海    ","鍾小姐","(02) 555-7647")
    Insert INTO Cust Values ( "THECR","新巨企業    ","劉先生","(03) 862-9682")
    Insert INTO Cust Values ( "TOMSP","東帝望      ","謝小姐","(04) 256-6932")
    Insert INTO Cust Values ( "TORTU","協昌妮絨有限","王先生","(05) 555-7788")
    Insert INTO Cust Values ( "TRADH","亞太公司    ","?#125;先生","(06) 245-9636")
    Insert INTO Cust Values ( "TRAIH","伸格公司    ","周先生","(07) 556-6665")
    Insert INTO Cust Values ( "VAFFE","中碩貿易    ","方先生","(08) 889-6698")
    Insert INTO Cust Values ( "VICTE","千固        ","陳先生","(02) 221-2555")
    Insert INTO Cust Values ( "VINET","山泰企業    ","余小姐","(03) 247-9682")
    Insert INTO Cust Values ( "WANDK","凱旋科技    ","蘇先生","(04) 358-6932")
    Insert INTO Cust Values ( "WARTH","升格企業    ","成先生","(05) 999-7788")
    Insert INTO Cust Values ( "WELLI","凱誠國際顧問","何先生","(06) 852-9636")
    Insert INTO Cust Values ( "WHITC","椅天文化事業","黎先生","(07) 223-6665")
    Insert INTO Cust Values ( "WILMK","志遠有限公司","唐小姐","(08) 784-6698")
    Insert INTO Cust Values ( "WOLZA","漢典電機    ","吳小姐","(02) 555-7647")
    Insert INTO Cust Values ( "XXYYZ","二鄰五金行  ","陳清煜","(02) 508-7883")

    INDEX ON 客戶編號 Tag 客戶編號

    PUBLIC oCust
    SCATTER NAME oCust
ENDPROC

*====================
PROCEDURE 客戶編號1.Valid
          flagGridSelected = .f.

          =CreateObject('SelGridForm',@oCust ;
          ,oCust.客戶編號,'客戶編號','Cust'  ; &&必要時封成個物件
          ,@flagGridSelected)

          ThisForm.Refresh
          return( flagGridSelected )
ENDPROC
********************************
ENDDEFINE  && From Jack許
********************************

*====================
DEFINE CLASS SelGridForm AS form
Top=6
Left=27
Height=350
Width=451
DoCreate = .T.
Caption = "Form1"
WindowState = 0
WindowType = 1
Name = "SelGridForm"

*====================
ADD OBJECT Label1 AS label WITH ;
Caption = "確定:[Enter]/[Mouse雙擊]          放棄:[Escape]/[Mouse-Right]",;
Height = 25, Left = 24, Top = 0, Width = 385                                 ,;
ForeColor = RGB( 255,255,255 )                                               ,;
BackColor = RGB( 0,128,128 )                                                 ,;
Name = "Label1"                                                                 

*====================
ADD OBJECT Grid1 AS grid WITH ;
READONLY = .t.                                                               ,;
Height = 288, Left = 9, Top = 35, Width = 432                                ,;
Panel = 1                                                                    ,;
Name = "Grid1"

*====================
PROCEDURE Grid1.AfterRowColChange
LPARAMETERS nColIndex
          THIS.nCurrentRecord=recno( THIS.RecordSource )
          THIS.refresh
ENDPROC

*====================
PROCEDURE INIT
LPARAMETERS oRecords,eSeek,eOrder,cTableAlias,flagGridSelected
           *!* GRID INIT
           With THIS.Grid1
                .RecordSource = cTableAlias
                .ColumnCount = fcount(cTableAlias)
                for fi=1 to .ColumnCount
                    oColumn = .Columns[fi]
                    with oColumn
                        .Header1.Caption=field(fi,cTableAlias)
                        .RemoveObject('Text1')
                        .AddObject('Text1','udfTextBox')
                        .Width = .Width / 2
*                       .Width = FSIZE(field(fi,cTableAlias),cTableAlias) * 3 +30
                    endwith
                next
*!*                     messagebox( cIIF )
                .AddProperty('nCurrentRecord' , recno(cTableAlias))

                LOCAL cExp1,cExp2,cRGB1,cRGB2
                cExp1=[ThisForm.Grid1.nCurrentRecord]
                cExp2=[recno("] +cTableAlias+ [")]
                cRGB1=[RGB(0,192,0)]
                cRGB2=[RGB(255,255,255)]
                cIIF=[IIF(&cExp1=&cExp2,&cRGB1,&cRGB2)]
                .SETALL("DynamicBackColor",cIIF,"Column")
*!*                     messagebox( cIIF )
*               .ActivateCell(1,1)
                .refresh
           EndWith
           *!* FORM INIT
           THIS.AddProperty('oRecords' , oRecords)
           THIS.AddProperty('flagGridSelected' , flagGridSelected )
           ThisForm.oRecords = oRecords
           *!* messagebox( type('oRecords')+type('ThisForm.oRecords') )

           if SEEK(eSeek,cTableAlias,eOrder)
              *!*
              flagGridSelected = .t.
              SCATTER Name ThisForm.oRecords
              oRecords = ThisForm.oRecords
              RELEASE THIS
           else
              SET NEAR ON
              if type('eSeek')='C'
                 =SEEK(RTrim(eSeek),cTableAlias,eOrder)
              else
                 *!*
                 =SEEK(eSeek,cTableAlias,eOrder)
              endif
              SET NEAR OFF
              *!* ------------------------------
                  THIS.SHOW(1)
                  if ThisForm.flagGridSelected
                     SCATTER Name ThisForm.oRecords
                     oRecords = ThisForm.oRecords
                  endif
                  flagGridSelected = ThisForm.flagGridSelected
              *!* ------------------------------
              RELEASE THIS
           endif

********************************
ENDDEFINE  && From Jack許       
********************************

*====================
DEFINE CLASS udfTextBox AS textbox
BorderStyle = 0
Margin = 0
*!* ForeColor = RGB( 0,0,0 )
*!* BackColor = RGB( 255,255,255 )
SelectedForeColor = RGB(255,255,255)
SelectedBackColor = RGB(  0,192,  0)
Enabled = .t.
Visible = .t.
Name = "Text1"

PROCEDURE DBLClick
          ThisForm.flagGridSelected = .t.
          THISFORM.HIDE
ENDPROC
PROCEDURE RightClick
          ThisForm.flagGridSelected = .f.
          THISFORM.HIDE
ENDPROC

PROCEDURE KeyPress
          LPARAMETERS nKeyCode, nShiftAltCtrl
          #DEFINE knEscape 27
          #DEFINE knEnter  13
          do case
             case nKeyCode = knEscape .and. nShiftAltCtrl=0
                  NoDefault
                  ThisForm.flagGridSelected = .f.
                  THISFORM.HIDE
             case nKeyCode = knEnter .and. nShiftAltCtrl=0
                  NoDefault
                  ThisForm.flagGridSelected = .t.
                  THISFORM.HIDE
             case .t.
          endcase
ENDPROC

******************************
ENDDEFINE  && From Jack許
******************************

_________________
#############################
快樂媽咪系列幸福宅配,喝十全雞湯~原來幸福那麼簡單!!

學會VFP使用者社區的搜尋,Code才會更有趣~
#############################
回頂端
檢視會員個人資料 發送私人訊息
Ruey



註冊時間: 2003-03-12
文章: 1698
來自: tunglo

第 3 樓

發表發表於: 星期一 五月 31, 2004 1:48 am    文章主題: 引言回覆

to holycastle :

麻煩你以後標題用繁體字(Big5)!!

_________________
#############################
快樂媽咪系列幸福宅配,喝十全雞湯~原來幸福那麼簡單!!

學會VFP使用者社區的搜尋,Code才會更有趣~
#############################
回頂端
檢視會員個人資料 發送私人訊息
holycastle



註冊時間: 2004-05-29
文章: 11
來自: 香港-大陸(兩邊走...)

第 4 樓

發表發表於: 星期四 六月 03, 2004 9:13 pm    文章主題: 引言回覆

Laughing war~~~
好深呀....不過都多謝你的reply~~~
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
從之前的文章開始顯示:   
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
1頁(共1頁)

 
前往:  
無法 在這個版面發表文章
無法 在這個版面回覆文章
無法 在這個版面編輯文章
無法 在這個版面刪除文章
無法 在這個版面進行投票
無法 在這個版面附加檔案
無法 在這個版面下載檔案


Powered by phpBB © 2001, 2005 phpBB Group
正體中文語系由 phpbb-tw 維護製作