全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1626
推到 Plurk!
推到 Facebook!

如何做到DBGRID顯示時與資料庫資料中資料的不同

答題得分者是:Jasonwong
MidasFan
一般會員


發表:41
回覆:22
積分:12
註冊:2004-06-03

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-05-30 11:40:22 IP:210.65.xxx.xxx 訂閱
我想在DBgrid上 keyin數量  時  為正數
但是存在資料庫中是負數
查詢時要讓使用者看到的是正數

簡單的說 在資料庫中 是負的 在DBGrid是正的

請問要怎麼做到呀
謝謝各位
Jasonwong
版主


發表:49
回覆:931
積分:581
註冊:2006-10-27

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-05-30 11:46:30 IP:211.75.xxx.xxx 未訂閱
多一個欄位即可解決

FieldA 為正數, FieldB 為負數

在 DBGrid 中只顯示 FieldA

Post 時在 BeforePost 事件中, 再將 FieldA 的值轉給 FieldB
------
聰明的人,喜歡猜心;雖然每次都猜對了,卻失去了自己的心
傻氣的人,喜歡給心;雖然每次都被笑了,卻得到了別人的心
MidasFan
一般會員


發表:41
回覆:22
積分:12
註冊:2004-06-03

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-05-30 12:04:02 IP:210.65.xxx.xxx 訂閱
JasonWong 
這一個方法我有想到 但是有沒有 不用加欄位的
想試試說 不要增加欄位有沒有辦法去做到這一個功能
謝謝版主
感激你的回覆

Jasonwong
版主


發表:49
回覆:931
積分:581
註冊:2006-10-27

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-05-30 12:44:18 IP:211.75.xxx.xxx 未訂閱
1.可以用 SQL 用一個假欄位下來, 一樣是正負欄位

2.用 CLIENTDATASET 裡的 INTERNALCALC 欄位

簡單的問題就用簡單的解法, 不要把問題複雜化了
------
聰明的人,喜歡猜心;雖然每次都猜對了,卻失去了自己的心
傻氣的人,喜歡給心;雖然每次都被笑了,卻得到了別人的心
MidasFan
一般會員


發表:41
回覆:22
積分:12
註冊:2004-06-03

發送簡訊給我
#5 引用回覆 回覆 發表時間:2007-05-30 12:48:21 IP:210.65.xxx.xxx 訂閱
JasonWong
沒有錯~~沒有必要複雜化
但是我老闆要我那樣做><
謝謝你喔
Jasonwong
版主


發表:49
回覆:931
積分:581
註冊:2006-10-27

發送簡訊給我
#6 引用回覆 回覆 發表時間:2007-05-30 12:53:35 IP:211.75.xxx.xxx 未訂閱
咚, 一定不能加欄位就對了

那多一個 DATASET 行不行....
------
聰明的人,喜歡猜心;雖然每次都猜對了,卻失去了自己的心
傻氣的人,喜歡給心;雖然每次都被笑了,卻得到了別人的心
nickcai2002
一般會員


發表:3
回覆:20
積分:24
註冊:2004-11-18

發送簡訊給我
#7 引用回覆 回覆 發表時間:2007-05-30 13:25:35 IP:59.125.xxx.xxx 未訂閱
還有一個方法可以參考help...
TField::OnGetText
TField::OnSetText

MidasFan
一般會員


發表:41
回覆:22
積分:12
註冊:2004-06-03

發送簡訊給我
#8 引用回覆 回覆 發表時間:2007-05-30 13:32:50 IP:210.65.xxx.xxx 訂閱
JasonWong
多一個Dataset怎麼做呀
想聽聽你的作法
小的不才
謝謝你喔
pgdennis
資深會員


發表:41
回覆:526
積分:443
註冊:2002-05-23

發送簡訊給我
#9 引用回覆 回覆 發表時間:2007-05-30 13:43:50 IP:59.120.xxx.xxx 未訂閱
吃飯前忘記發,有人發了 嘿嘿

大致上如樓上說的用ongetext,onsettext
<textarea cols="60" rows="10" class="delphi" name="code"> procedure TForm1.qryAGetText(Sender: TField; var Text: string; DisplayText: Boolean); begin text := IntToStr( - TField(sender).asinteger); DisplayText:=true; end; procedure TForm1.qryASetText(Sender: TField; const Text: string); begin TField(sender).asinteger := - StrToInt(Text); end; </textarea>
------
星期一,二...無窮迴圈@@
Jasonwong
版主


發表:49
回覆:931
積分:581
註冊:2006-10-27

發送簡訊給我
#10 引用回覆 回覆 發表時間:2007-05-30 13:58:00 IP:211.75.xxx.xxx 未訂閱
忘了還有這一招, 建議用這招

===================引 用 nickcai2002 文 章===================
還有一個方法可以參考help...
TField::OnGetText
TField::OnSetText

------
聰明的人,喜歡猜心;雖然每次都猜對了,卻失去了自己的心
傻氣的人,喜歡給心;雖然每次都被笑了,卻得到了別人的心
MidasFan
一般會員


發表:41
回覆:22
積分:12
註冊:2004-06-03

發送簡訊給我
#11 引用回覆 回覆 發表時間:2007-05-30 15:59:02 IP:210.65.xxx.xxx 訂閱
謝謝你!!
我研究一下
感謝你的回應
K.Top有溫情

MidasFan
一般會員


發表:41
回覆:22
積分:12
註冊:2004-06-03

發送簡訊給我
#12 引用回覆 回覆 發表時間:2007-05-30 16:55:44 IP:210.65.xxx.xxx 訂閱
nickcai2002 pgdennis JasonWong
謝謝各位
小弟試一下
感激
系統時間:2024-07-01 10:02:53
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!