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

Form2連結至Form1

尚未結案
kenton
一般會員


發表:24
回覆:21
積分:9
註冊:2005-05-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-11-16 04:25:24 IP:163.21.xxx.xxx 未訂閱
我可以Form2的Table新增後 同時 在Form1的TreeView也新增一筆資料嗎?! 附上圖 感激不盡^^
RedSnow
版主


發表:79
回覆:1322
積分:845
註冊:2003-12-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-11-17 02:49:07 IP:61.230.xxx.xxx 未訂閱
kenton 妳好:    請按照下列提示試著自己寫寫看:
1. 在 Unit2.cpp (Form2 的 .cpp 檔案) 設定 #include "Unit1.h"。    2. 在 Form2 "確定" 按鈕的 OnClick 事件中做如下的設定:    TTreeNode* node = Form1->TreeView1->要新增子項目的 Node;
Form1->TreeView1->Items->AddChild(node, 欲添加的字樣);
請注意!上述第 2 個步驟是舉例說明而已,不是實際可執行的敘述,主要是說明 "透過 Form1->.... 這樣的指向方式可直接與 Form1 溝通"。 7 天天敲鍵盤 v 時時按滑鼠 8
kenton
一般會員


發表:24
回覆:21
積分:9
註冊:2005-05-13

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-11-18 00:00:09 IP:163.21.xxx.xxx 未訂閱
Form1->TreeView1->Items->AddChild(node, 欲添加的字樣); 那個"欲添加的字樣" 我如果是要連結資料庫的話 可以用Table1Title來進行連結嗎?! 還是要用另外一種方法寫?!
RedSnow
版主


發表:79
回覆:1322
積分:845
註冊:2003-12-15

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-11-18 00:32:28 IP:61.230.xxx.xxx 未訂閱
kenton 妳好:    那個要添加的字樣是取決於妳的,但是依妳貼的圖來看,Form2 上面有標示著 No, Title, Note 字樣的輸入欄位 (Edit 元件),在妳點擊 "確定" 鈕時,妳應該是要將那三個欄位的內容存入資料庫,那麼這個時候妳就可以直接取用前述 Title 欄位的內容 (Edit 元件的 Text) 來當作那個 "添加字樣"。      7 天天敲鍵盤 v 時時按滑鼠 8
kenton
一般會員


發表:24
回覆:21
積分:9
註冊:2005-05-13

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-11-18 12:28:35 IP:163.21.xxx.xxx 未訂閱
我現在發現我問題問反了 問題應該是 我在Form2新增了一筆資料 那我Form1的TreeView就要去資料庫抓取資料 把Form2的Table1Title抓進TreeView中 用Table1Kind來判斷說是該分類到哪一個節點裡 那是要用switch還是用if 麻煩大大在幫我解答一下 感激不盡
pedro
尊榮會員


發表:152
回覆:1187
積分:892
註冊:2002-06-12

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-11-18 13:45:31 IP:60.248.xxx.xxx 未訂閱
kenton 對不起,您寄給我的email我今天才看到,我就在ktop回應您 在form2新增的資料,其實您可以在對應的DataSet.BeforePost 事件裡,把該筆資料,增添到form1->TreeView裡 添加的邏輯規則,可以參考 我回應mathewzhao大大的delphi sourcecode(請自行轉成BCB,差異應該不大) http://delphi.ktop.com.tw/topic.php?topic_id=44594 ..................... .楛耕傷稼,楛耘失歲. .....................
RedSnow
版主


發表:79
回覆:1322
積分:845
註冊:2003-12-15

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-11-18 15:11:35 IP:59.115.xxx.xxx 未訂閱
kenton 妳好:    給妳一個範例,可以直接以 Index 來指明主節點 (要增加子節點的那個節點),這樣子處理起來比較簡單:
// 於 Unit2.h 檔案內
private:
    TTreeNode* __fastcall GetTreeViewNodeFromIndex(TTreeView *tv, int Index);    // 於 Unit2.cpp 檔案內    #include "Unit1.h"    // 以 Index 來取得 Node 的自定函式
TTreeNode* __fastcall TForm2::GetTreeViewNodeFromIndex(TTreeView *tv, int Index)
{
    TTreeNode* node = tv->Items->GetFirstNode();        int I = Index;
    while (I != 0 && node != NULL){
      node = node->getNextSibling();
      I--;
    }
    return node;
}    // Form2 "確定" 鈕的 OnClick() 事件
void __fastcall TForm2::ButtonOKClick(TObject *Sender)
{
    .... 此處處理 "新增資料到資料庫" 的動作 ....        // 假設 Kind 欄位是一個名稱設為 EditKind 的 Edit 元件,內含值是分類的節點 (1~4)
    int Kind = StrToInt(EditKind->Text);
    TTreeNode* node = GetTreeViewNodeFromIndex(Form1->TreeView1, Kind - 1);        // 假設 Title 欄位是一個名稱設為 EditTitle 的 Edit 元件,內含值是妳打算顯示出來的 "子節點標題字樣"
    Form1->TreeView1->Items->AddChild(node, EditTitle->Text);
}
7 天天敲鍵盤 v 時時按滑鼠 8
系統時間:2024-04-29 23:24:18
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!