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

ClinetDataSet的怪問題

尚未結案
kateantony
一般會員


發表:10
回覆:10
積分:4
註冊:2005-02-28

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-10-20 09:54:14 IP:61.62.xxx.xxx 未訂閱
請教各位先進一個問題 我用ClinetDataSet當資料集, 用dbgrid當編輯器, 假設有三個欄位分別為"品號","品名","領用數量". "品號"跟"領用數量"的grid上的欄位readonly為false,"品名"的grid上的欄位readonly為true(因為它來自品號檔).問題在user按鈕去挑品號帶出品名回來後, 如果進入品名欄位編輯時發現不能編輯, 再跳到"領用數量"去編輯結果連"領用數量"都跟著不能編輯,必須重新挑品號回來, 再直接到"領用數量"欄位去編輯,好奇怪哦...請各位幫忙...謝謝!!
huwk
資深會員


發表:26
回覆:340
積分:323
註冊:2002-04-03

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-10-26 00:30:38 IP:211.76.xxx.xxx 未訂閱
你是不是有用程式自行控制那些欄位是否可輸入? 建議你檢查一下你自己的程式是否有誤 或是把程式貼上來看看吧
------
熊的學習 http://huwk.blogspot.com
kateantony
一般會員


發表:10
回覆:10
積分:4
註冊:2005-02-28

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-10-26 08:53:29 IP:61.62.xxx.xxx 未訂閱
只有在dbgrid的欄位屬性readonly設true或false..謝謝你 procedure TForm_Order.DBGrid1EditButtonClick(Sender: TObject); begin if (My_OperMode <> 'Edit') and (My_OperMode <> 'Add') then begin abort; end; if (DBGrid1.SelectedField=ClientDataSetDetailNutsID) then begin Form_Search:=TForm_Search.Create(self); Form_Search.Query_SearData.SQL.Clear; Form_search.m_TableName:='Nuts'; Form_search.Query_SearData.SQL.Add('Select NutsID,NutsName from Nuts order by NutsID'); Form_search.PageControl1.ActivePage :=Form_search.TabSheet1 ; //指定為AllSearch Form_Search.ShowModal; ClientDataSetDetail.Edit; if (m_Ok_Sure='Button_AllSearRetu') or (m_Ok_Sure='Button_MixSearRetu') then begin if m_Ok_Sure='Button_AllSearRetu' then begin FOR m_LoopCoun :=0 TO Form_Search.DBGrid_AllSear.SelectedRows.Count -1 DO BEGIN Form_Search.DBGrid_AllSear.DataSource.DataSet.Bookmark:=Form_Search.DBGrid_AllSear.SelectedRows.Items[m_LoopCoun]; ClientDataSetDetailNutsID.Value :=Form_search.ClientDataSet_SearData.Fields[0].value; ClientDataSetDetailNutsName.Value :=Form_search.ClientDataSet_SearData.Fields[1].value; END; end else if m_Ok_Sure='Button_MixSearRetu' then begin FOR m_LoopCoun :=0 TO Form_Search.DBGrid_MixSear.SelectedRows.Count -1 DO BEGIN Form_Search.DBGrid_MixSear.DataSource.DataSet.Bookmark:=Form_Search.DBGrid_MixSear.SelectedRows.Items[m_LoopCoun]; ClientDataSetDetailNutsID.Value :=Form_search.ClientDataSet_SearData.Fields[0].value; ClientDataSetDetailNutsName.Value :=Form_search.ClientDataSet_SearData.Fields[1].value; END; end; end; DBGRID1.SelectedIndex:=3; //為了避免上述問題,強迫到可以輸入的欄位 DBGRID1.SetFocus; end; end;
系統時間:2024-05-07 9:17:09
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!