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

有關DBGRID的問題.

尚未結案
lungchi
一般會員


發表:14
回覆:23
積分:7
註冊:2002-11-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-03-24 17:02:31 IP:203.70.xxx.xxx 未訂閱
如何在DBGRID中顯示所要想顥示的資料,其他不合條件的資料,則不要顯示出來.
channel
尊榮會員


發表:67
回覆:707
積分:854
註冊:2002-05-02

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-03-24 17:10:40 IP:211.21.xxx.xxx 未訂閱
引言: 如何在DBGRID中顯示所要想顥示的資料,其他不合條件的資料,則不要顯示出來.
您應該要從TDataSet著手也就是DBGRID所連之TQuery或TTable 若是TQuery可用Where條件過濾 若是TTable可用Filter過濾(Filtered須設為True) ~小弟淺見,參考看看~
------
~小弟淺見,參考看看~
lungchi
一般會員


發表:14
回覆:23
積分:7
註冊:2002-11-13

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-03-24 17:54:13 IP:203.70.xxx.xxx 未訂閱
不好意思,我是新手再請問有關dbgrid的問題,我希望一執行表單時,dbgrid內容是空白的(當然資料庫中是有資料的),換句話說,我是希望接用dbgrid來新增資料,或直接修改我找到的資料(當然不附合的資料我並不希望在bgrid中顯示出來)
timhuang
尊榮會員


發表:78
回覆:1815
積分:1608
註冊:2002-07-15

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-03-24 18:04:56 IP:211.76.xxx.xxx 未訂閱
引言: 不好意思,我是新手再請問有關dbgrid的問題,我希望一執行表單時,dbgrid內容是空白的(當然資料庫中是有資料的),換句話說,我是希望接用dbgrid來新增資料,或直接修改我找到的資料(當然不附合的資料我並不希望在bgrid中顯示出來)
在新增時使用若不要顯示資料, 但要有對應欄位的話, 你可以下 SELECT * FROM TABLE1 WHERE 1=0 即可..
Mickey
版主


發表:77
回覆:1882
積分:1390
註冊:2002-12-11

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-03-24 20:26:46 IP:218.32.xxx.xxx 未訂閱
引言: 如何在DBGRID中顯示所要想顥示的資料,其他不合條件的資料,則不要顯示出來.
不是很清楚你的問題, 用猜的 TBDEDateSet(TQuery/TTable) 的 Filter 及 Filtered 兩個屬性 是不是你要的 ? /* Free 和 Create 一樣重要 */
channel
尊榮會員


發表:67
回覆:707
積分:854
註冊:2002-05-02

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-03-25 13:58:43 IP:211.21.xxx.xxx 未訂閱
引言: 不好意思,我是新手再請問有關dbgrid的問題,我希望一執行表單時,dbgrid內容是空白的(當然資料庫中是有資料的),換句話說,我是希望接用dbgrid來新增資料,或直接修改我找到的資料(當然不附合的資料我並不希望在bgrid中顯示出來)
您的問題勢必要用TQuery這個元件。 註:TQuery要能編修資料需將屬性的RequestLive設為True 舉個到子: TQuery屬性中的SQL如下:(Query1) Select * From TableName Where (FieldName1 = :PFieldName1 or 0 = :S1) and (FieldName2 = :PFieldName2 or 0 = :S2) 可自行新增條件式,我舉二個條件式。 註:必須設定TQuery屬性中的Params 將PFieldName1、PFieldName2的DataType設為FieldName相同的Type例:ftString S1、S2的DataType設為ftInteger
procedure TForm1.FormCreate(Sender: TObject);
begin
  //目的是希望一執行表單時,dbgrid內容是空白的(當然資料庫中是有資料的)
  //S1、S2為時0時表條件不成立
  with Query1 do
  begin
    Close;
    ParamByName('S1').AsInteger := 0;
    ParamByName('S2').AsInteger := 0;
    Open;
  end;
end;    //查詢鈕
procedure TForm1.Button1Click(Sender: TObject);
begin
  //目的利用Query1查詢
  //S1、S2為時1時表條件成立
  with Query1 do
  begin
    Close;
    ParamByName('S1').AsInteger := 1;
    ParamByName('PFieldName1').AsString := 'xxx';
    ParamByName('S2').AsInteger := 1;
    ParamByName('PFieldName2').AsString := 'xxx';
    Open;
  end;
end;
這樣的作法可以讓查詢、新增、刪除、修改用同一個Query。 不知這樣您清楚嗎? ~小弟淺見,參考看看~
------
~小弟淺見,參考看看~
系統時間:2024-06-24 19:56:00
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!