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

memo欄位的顯示

尚未結案
will
中階會員


發表:176
回覆:135
積分:62
註冊:2002-04-14

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-05-19 11:03:29 IP:163.17.xxx.xxx 未訂閱
小弟有一資料欄, 型態是Memo, 在Dbgrid 中, Delphi會以(Memo)來顯示 請問有沒有其他美化的方法
william
版主


發表:66
回覆:2535
積分:3048
註冊:2002-07-11

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-05-19 11:29:28 IP:147.8.xxx.xxx 未訂閱
A simple way is to create a OnGetText event for your memo field. If you want to get a better output, either try some 3rd party DBGrid or create your own OnDrawColumnCell for your DBGrid in drawing the memo.
will
中階會員


發表:176
回覆:135
積分:62
註冊:2002-04-14

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-05-19 21:35:57 IP:218.162.xxx.xxx 未訂閱
Thank! Which 3rd party DBGrid is better?
引言: A simple way is to create a OnGetText event for your memo field. If you want to get a better output, either try some 3rd party DBGrid or create your own OnDrawColumnCell for your DBGrid in drawing the memo.
yachanga
資深會員


發表:24
回覆:335
積分:296
註冊:2003-09-27

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-05-20 00:35:45 IP:61.230.xxx.xxx 未訂閱
引言: 小弟有一資料欄, 型態是Memo, 在Dbgrid 中, Delphi會以(Memo)來顯示 請問有沒有其他美化的方法
Hi will: 除了william版大提供的方法之外, 還可以試試看cchen版大提供的方法
改用TClientDataSet之CreateBlobStream    procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect;
  Field: TField; State: TGridDrawState);
var
  P: array [0..50] of char;
  bs: TStream;
  hStr: String;
begin
  if Field is TMemoField then
  begin
    with (Sender as TDBGrid).Canvas do
    begin
      bs := ClientDataSet1.CreateBlobStream(field, bmRead);    
http://delphi.ktop.com.tw/topic.php?topic_id=21008 ~悠遊法國號~
william
版主


發表:66
回覆:2535
積分:3048
註冊:2002-07-11

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-05-20 09:22:03 IP:147.8.xxx.xxx 未訂閱
Most better DBGrid needs $$$$$  > href="http://sourceforge.net/projects/tporpheus/">http://sourceforge.net/projects/tporpheus/ is rich in features, but I never try it seriously and it may require the BDE library (since I used runtime package and it requires the BDE runtime package file, not the full BDE)...
silence
一般會員


發表:9
回覆:17
積分:10
註冊:2003-06-04

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-05-20 11:37:20 IP:61.221.xxx.xxx 未訂閱
如果你要的是在 DBGrid 中顯示 Memo field 的內容 -- 可以在 DataSet 中增加實際memo欄位 myMemo 對應的 Calculated Field 例如 myMemoX 並在 DataSet.OnCalcFields 中, 將 myMemo 的內容塞到 myMemoX procedure TMyForm.myDataSetCalcFields(DataSet: TDataSet); begin if DataSet.FindField('myMemoX') <> nil then DataSet.FieldByName('myMemoX').AsString := DataSet.FieldByName('myMemo').Value; end; 然後在 DBGrid 中, 只要顯示 myMemoX, 不要加入 myMemo 拿 myMemoX 取代 myMemo 的顯示, 就不會出現 (MEMO) 了
系統時間:2024-09-06 13:55:12
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!