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

求一個函數
前往頁面 1, 2  下一頁
 
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區
上一篇主題 :: 下一篇主題  
發表人 內容
shyhpyng



註冊時間: 2006-10-11
文章: 60
來自: 台南市

第 1 樓

發表發表於: 星期二 三月 18, 2008 3:08 pm    文章主題: 求一個函數 引言回覆

各位大大好:我想要問Foxpro有沒有傳回資料表格欄位的函數,我爬文有爬到
Field() ,但是他似乎不太合乎我需要的,我的情況是:我使用了一個Grid來顯示我的資料表格,然後使用者可以在這個Grid點任何欄位的任何一筆資料,我目的是要取得使用者目前在Grid的游標是停在我"資料表格"的哪一個欄位的那個欄位名稱,不是Grid的欄位名稱喔! 不知這樣講清不清楚,如果不懂我在問什麼我在用圖問,先謝謝各位了
回頂端
檢視會員個人資料 發送私人訊息
syntech



註冊時間: 2003-05-16
文章: 4249
來自: Taipei,Taiwan

第 2 樓

發表發表於: 星期二 三月 18, 2008 3:34 pm    文章主題: 引言回覆

你想歪了.
_________________
如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問

請聯絡我們,也許我們幫得上忙
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 AIM Address
sken



註冊時間: 2004-02-17
文章: 67


第 3 樓

發表發表於: 星期二 三月 18, 2008 4:33 pm    文章主題: Re: 求一個函數 引言回覆

shyhpyng 寫到:
我目的是要取得使用者目前在Grid的游標是停在我"資料表格"的哪一個欄位的那個欄位名稱,不是Grid的欄位名稱喔!


你是要指 那一個欄位的 座標位置嗎?[/b]
回頂端
檢視會員個人資料 發送私人訊息
shyhpyng



註冊時間: 2006-10-11
文章: 60
來自: 台南市

第 4 樓

發表發表於: 星期二 三月 18, 2008 5:03 pm    文章主題: Re: 求一個函數 引言回覆

sken 寫到:
shyhpyng 寫到:
我目的是要取得使用者目前在Grid的游標是停在我"資料表格"的哪一個欄位的那個欄位名稱,不是Grid的欄位名稱喔!


你是要指 那一個欄位的 座標位置嗎?[/b]


不是,是那一欄的欄位名稱
下面是圖例


上面我游標在順意那一欄,蛋是那一欄其實是我資料表格欄名為Wkd_03
我需要的就是取出資料表格欄名Wkd_03的函數

謝謝!還是用Field()可以做呢??
回頂端
檢視會員個人資料 發送私人訊息
syntech



註冊時間: 2003-05-16
文章: 4249
來自: Taipei,Taiwan

第 5 樓

發表發表於: 星期二 三月 18, 2008 5:22 pm    文章主題: 引言回覆

你應該先問自己想做什麼?為什麼需要知道?
也許你只是繞遠路做蠢事而已.

你真正的問題是什麼?

_________________
如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問

請聯絡我們,也許我們幫得上忙
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 AIM Address
shyhpyng



註冊時間: 2006-10-11
文章: 60
來自: 台南市

第 6 樓

發表發表於: 星期二 三月 18, 2008 5:45 pm    文章主題: 引言回覆

syntech 寫到:
你應該先問自己想做什麼?為什麼需要知道?
也許你只是繞遠路做蠢事而已.

你真正的問題是什麼?


恩!就是我要做一個成本的檔案,那些代碼是公司跟外面買的用具代碼,每種工具都有幾家公司會提供給我們,所以我要寫一個比較歷史價格的程式,首先我會先從公司驗收單檔案找出所需的檔案,如下圖



然後當使用者在我的Grid選某家廠商時,按個鈕我就依他點的位置,分別
Set filter to 資料="使用者點的代碼"
然後再依他是點在哪一家廠商而只顯示那家廠商的資料
回頂端
檢視會員個人資料 發送私人訊息
小賴



註冊時間: 2004-12-27
文章: 476


第 7 樓

發表發表於: 星期二 三月 18, 2008 11:56 pm    文章主題: 引言回覆

不知是否有較好方法?
我都使用以下方式取得ActiveCell之欄位名與其值
並將結果存於Grid自訂屬性OriginalFieldName, OriginalValue
OriginalFieldName : ActiveCell之欄位名(應是你要的)
OriginalValue : ActiveCell之原欄位值(未更改前)
程式碼請自行刪除前置全型空白

Grid1.AfterRowColChange :


FOR i = 1 TO This.ColumnCount
  IF This.ActiveColumn = This.Columns(i).ColumnOrder
    CellField = This.Columns(i).TEXT1.ControlSource
    This.OriginalFieldName = CellField
    This.OriginalValue = Evaluate(CellField)
  ENDIF
NEXT
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
jeff25



註冊時間: 2004-10-22
文章: 76
來自: taiwan

第 8 樓

發表發表於: 星期三 三月 19, 2008 7:38 am    文章主題: 引言回覆

修改來自小賴,這樣簡單一點

Grid1.AfterRowColChange :

LPARAMETERS nColIndex
CellField = This.Columns( nColIndex).TEXT1.ControlSource
OriginalFieldName = CellField
OriginalValue = Evaluate(CellField)

_________________
jeff
回頂端
檢視會員個人資料 發送私人訊息
KKKLYNN



註冊時間: 2004-09-17
文章: 357


第 9 樓

發表發表於: 星期三 三月 19, 2008 7:58 am    文章主題: 引言回覆

直接去抓grid.column.controlsource
不就好了
回頂端
檢視會員個人資料 發送私人訊息
shyhpyng



註冊時間: 2006-10-11
文章: 60
來自: 台南市

第 10 樓

發表發表於: 星期三 三月 19, 2008 8:34 am    文章主題: 引言回覆

KKKLYNN 寫到:
直接去抓grid.column.controlsource
不就好了


可是我無法預測使用者會去點哪一個column啊,所以你的方法似乎行不通......
回頂端
檢視會員個人資料 發送私人訊息
nelsonchuang



註冊時間: 2003-09-04
文章: 563
來自: 臺灣

第 11 樓

發表發表於: 星期三 三月 19, 2008 8:40 am    文章主題: 引言回覆

你連去實驗都沒去實驗,怎麼會成功呢?一堆人講了答案給你,你都沒去試,怎麼會行得通?
寫程式起碼要有國父革命的精神,一次不行,換另一種方式,你...有這樣子去做嗎?

_________________
大家好,請多指教
回頂端
檢視會員個人資料 發送私人訊息
新人類



註冊時間: 2005-11-27
文章: 48


第 12 樓

發表發表於: 星期三 三月 19, 2008 8:46 am    文章主題: 引言回覆

先去試試看~你的問題能被解決!!
回頂端
檢視會員個人資料 發送私人訊息
syntech



註冊時間: 2003-05-16
文章: 4249
來自: Taipei,Taiwan

第 13 樓

發表發表於: 星期三 三月 19, 2008 8:54 am    文章主題: 引言回覆

只能說,
把問題問清楚了,
答案就解決一半.

也可以無聊到自訂 column.text 物件,
直接在 text.click 裡面把事情做完.

_________________
如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問

請聯絡我們,也許我們幫得上忙
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 AIM Address
shyhpyng



註冊時間: 2006-10-11
文章: 60
來自: 台南市

第 14 樓

發表發表於: 星期三 三月 19, 2008 9:18 am    文章主題: 引言回覆

我依小賴及J大的方法
CellField = This.Columns( nColIndex).TEXT1.ControlSource
有取到欄位名稱了, 會顯示 資料表格.欄位名稱;到這裡我的問題算是解決了!

至於後面兩行
OriginalFieldName = CellField
OriginalValue = Evaluate(CellField)

OriginalFieldName和OriginalValue是Grid的自訂屬性,那我是從 表單=>新屬性去增加嗎? 但這樣似乎不是增加GRID的新屬性,因為那個屬性跑到FORM去了

這兩行的目的是什麼呢?感激各位!
回頂端
檢視會員個人資料 發送私人訊息
小賴



註冊時間: 2004-12-27
文章: 476


第 15 樓

發表發表於: 星期三 三月 19, 2008 9:39 am    文章主題: 引言回覆

樓主還是採用jeff25兄的"簡易版"嗎 ?
如果這樣, 真讓人遺憾 ....
茲所以多了迴圈, 當然有他的道理 ...你應該多思考些的....
..
jeff25兄之方式會有漏洞的 ...
除非你的使用者都不會去托曳Grid之任何Column
否則會有問題...


如果一定要使用jeff25兄之方式
建議你於Grid1.Init :
This.SetAll("Movable", .F., "Column")
不過這會喪失移動Column功能就是了

OriginalValue 之功能 :
記錄欄位初值 ; 當使用者輸入非法值無法通過
Text1.Valid檢測時, 可回復原來值
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
從之前的文章開始顯示:   
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
前往頁面 1, 2  下一頁
1頁(共2頁)

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


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