線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:4113
推到 Plurk!
推到 Facebook!

請問TwwDBGrid可動態顯示欄位嗎?

答題得分者是:P.D.
bogey
一般會員


發表:4
回覆:8
積分:2
註冊:2006-12-19

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-04-28 17:41:04 IP:60.248.xxx.xxx 訂閱
各位好,請問TwwDBGrid可控制顯示或隱藏某一欄位嗎?
我試過將
wwDBGrid1.ColumnByName('Field1').DisplayLabel:='';
wwDBGrid1.ColumnByName('Field1').DisplayWidth:=0;
但欄位還是會存在..

也試過如下方法..
DisableControls;
wwDBGrid1.DataSource.DataSet.FieldByName('Field1').Visible := False;
EnableControls;

也是不行..
請教了..
shinhrn
中階會員


發表:54
回覆:165
積分:83
註冊:2002-06-05

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-04-28 18:10:52 IP:210.242.xxx.xxx 訂閱
試試
wwDBGrid1.ColumnByName('Field1').Visible:=False;
bogey
一般會員


發表:4
回覆:8
積分:2
註冊:2006-12-19

發送簡訊給我
#3 引用回覆 回覆 發表時間:2008-04-28 18:43:24 IP:60.248.xxx.xxx 訂閱
shinhrn大大..
不行耶..沒這個Property..

===================引 用 shinhrn 文 章===================
試試
wwDBGrid1.ColumnByName('Field1').Visible:=False;
shinhrn
中階會員


發表:54
回覆:165
積分:83
註冊:2002-06-05

發送簡訊給我
#4 引用回覆 回覆 發表時間:2008-04-28 21:08:01 IP:210.242.xxx.xxx 訂閱
喔..SORRY.TwwDBGrid.是加裝的元件??.我好像沒有..
RootKit
資深會員


發表:16
回覆:358
積分:419
註冊:2008-01-02

發送簡訊給我
#5 引用回覆 回覆 發表時間:2008-04-28 22:35:19 IP:61.222.xxx.xxx 訂閱
依據InfoPower Support
Selected 重組後 Apply
Selected
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#6 引用回覆 回覆 發表時間:2008-04-28 23:57:45 IP:61.67.xxx.xxx 未訂閱
其實你應該這麼想, 任何一種dbgrid 都是連結dataset的功能, Delphi的dataset連結dbgrid 時, 如果你沒有特別指定dbgrid 的column內容, 系統內定是會把 select 到的欄位全部自動add到dbgrid 中, 所以你應該朝向 dbgrid.column.add 方向去手動將要的欄位加入
相關的動作
dbgrid.column.add
dbgrid.column[i].fieldname
dbgrid.column[i].title
dbgrid.column[i].width
dbgrid.column[i].font
利用這幾組就可以自已組合dbgrid 內容了
懷舊的人
高階會員


發表:28
回覆:152
積分:141
註冊:2003-01-08

發送簡訊給我
#7 引用回覆 回覆 發表時間:2008-04-29 15:03:48 IP:211.78.xxx.xxx 訂閱
由  Query 或 ADOQuery 設定即可

ADOQuery1.FieldByNam('F1').visible := False; 則 TwwDBGrid 的 Column 的 F1 就會設成 False
bogey
一般會員


發表:4
回覆:8
積分:2
註冊:2006-12-19

發送簡訊給我
#8 引用回覆 回覆 發表時間:2008-04-29 20:05:10 IP:122.146.xxx.xxx 訂閱
感謝P.D.大及其他大大的回覆,因為我是有兩個頁簽..例如台幣和外幣..
共用一個TwwDBGrid..在利用Filter去控制顯示的內容..
又因為我是使用TkbmMemTable..來當做dataset的連結..
所以wwDBGrid1.DataSource.DataSet.FieldByName('Field1').Visible := False;
不知為何沒有作用..
想請教的是..可否在台幣頁簽顯示某欄位..外幣頁簽隱藏某欄位呢?
謝謝賜教!!

===================引 用 P.D. 文 章===================
其實你應該這麼想, 任何一種dbgrid 都是連結dataset的功能, Delphi的dataset連結dbgrid 時, 如果你沒有特別指定dbgrid 的column內容, 系統內定是會把 select 到的欄位全部自動add到dbgrid 中, 所以你應該朝向 dbgrid.column.add 方向去手動將要的欄位加入
相關的動作
dbgrid.column.add
dbgrid.column[i].fieldname
dbgrid.column[i].title
dbgrid.column[i].width
dbgrid.column[i].font
利用這幾組就可以自已組合dbgrid 內容了
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#9 引用回覆 回覆 發表時間:2008-04-30 10:13:42 IP:61.67.xxx.xxx 未訂閱
我想應該不是一個DBGRID 要同時處理台幣或外幣的顯示吧!
而是這個資料庫為台幣內容顯示 DBGRID 的台幣, 反之則顯示外幣內容, 如果是後者建議你
就使用動態建立DBGRID 的方式來做, 要不然還有一個方式, 利用 CALCFIELD 來處理,
把台幣或外幣的判斷丟到一個CALCFIELD 上, 全部由這個欄位來表示也可以
如果是前者的話, 那你可能就要朝DBGRID 的字體及背景色調整, 讓它成假象在螢幕上看不到字

再不就釜底抽薪的方法
1.兩個頁箋用兩個DBGRID, 大家不要搶, 都有份, 設計上方便好用
2.兩個頁籤還是用兩個DBGRID, 台幣箋把外幣GRID.VISIBLE:= FALSE, 反之, 台幣GRID.VISIBLE:= FALSE
何苦一直在象牙塔之打轉呢?
編輯記錄
P.D. 重新編輯於 2008-04-30 10:18:06, 註解 無‧
bogey
一般會員


發表:4
回覆:8
積分:2
註冊:2006-12-19

發送簡訊給我
#10 引用回覆 回覆 發表時間:2008-04-30 20:13:57 IP:60.248.xxx.xxx 訂閱
感謝大大的回覆..小弟也不是很想一直繞圈圈..實在是因為個人技術門檻較低..
我不曉得TwwDBGrid是否可達到自己想要的功能..也很認真的在try..真的自己無法解決..
才會上來發問..別的方法當然可解決小弟的問題..
我現在有十個頁箋..利用TkbmMemTable元件..將想要資料存到暫存table裡..
我希望自己用最簡捷的方式達到要求..所以我只拉一個TwwDBGrid..
再去控制每個頁箋所要呈現的資料..
效能一樣..一行程式跟十行程式都能達到要求的話..我會選擇寫一行就好..
只是我不曉得那一行能不能寫或怎麼寫囉!!

RootKit
資深會員


發表:16
回覆:358
積分:419
註冊:2008-01-02

發送簡訊給我
#11 引用回覆 回覆 發表時間:2008-05-01 17:19:06 IP:61.222.xxx.xxx 訂閱
唉!...... 
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#12 引用回覆 回覆 發表時間:2008-05-03 22:32:49 IP:61.67.xxx.xxx 未訂閱
其實你真的在繞圈圈啊!
1.提到技術門檻低, 殊不知元件共用要處理的功課是更不容易的, 就是考慮到你的技術未達門檻, 所以建議你就是用兩組dbgrid, 而不要執著於共用元件的處理,
2.當使用元件共用時, 程式真的能簡捷嗎? 那可不一定, 因為你要寫判斷程式, 如果你把每一組都對應一個, 根本不用寫什麼code, 只要控制開關顯示而已, 所以我認為你陷入了設計上的迷思, 這就是在繞圈!
3.有些設計是要靠不斷的程式設計經驗累積才能有辦法突破瓶頸
好好想一下, 事實上樓上大家都提供了很多的做法, 靜下心來看, 如果你能安排出時間的話!
===================引 用 bogey 文 章===================
感謝大大的回覆..小弟也不是很想一直繞圈圈..實在是因為個人技術門檻較低..
我不曉得TwwDBGrid是否可達到自己想要的功能..也很認真的在try..真的自己無法解決..
才會上來發問..別的方法當然可解決小弟的問題..
我現在有十個頁箋..利用TkbmMemTable元件..將想要資料存到暫存table裡..
我希望自己用最簡捷的方式達到要求..所以我只拉一個TwwDBGrid..
再去控制每個頁箋所要呈現的資料..
效能一樣..一行程式跟十行程式都能達到要求的話..我會選擇寫一行就好..
只是我不曉得那一行能不能寫或怎麼寫囉!!

bogey
一般會員


發表:4
回覆:8
積分:2
註冊:2006-12-19

發送簡訊給我
#13 引用回覆 回覆 發表時間:2008-05-04 01:54:29 IP:116.59.xxx.xxx 訂閱
..好的..謝謝版大持續的關心..我會朝別的方向著手的..在此獻上小弟的分數..感謝..

===================引 用 P.D. 文 章===================
懷舊的人
高階會員


發表:28
回覆:152
積分:141
註冊:2003-01-08

發送簡訊給我
#14 引用回覆 回覆 發表時間:2008-05-04 14:03:22 IP:211.78.xxx.xxx 訂閱
TwwDBGrid 當然可動態顯示欄位, 但最簡單的方法是由 DataSet 的欄位下手, DataSet 欄位 Visible 設成  False 則 TwwDBGrid 的 欄位  Visible 就會設成   False,
同樣的道理如果 要處理TwwDBGrid 欄位靠左靠右也是要由 DataSet 的欄位下手, 初學者慢慢來不要急。
系統時間:2024-04-27 6:14:55
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!