combobox的問題......... |
答題得分者是:ha0009
|
244
一般會員 發表:3 回覆:2 積分:1 註冊:2003-07-21 發送簡訊給我 |
|
Windyboy
版主 發表:7 回覆:119 積分:210 註冊:2002-11-07 發送簡訊給我 |
Hi 244: 不是很了解你的意思, 我猜看看^^ 1. ComboBox1新增選項... 使用
ComboBox1.Items.Add
或
ComboBox1.Items.Insert 建議你查一下TComboBox的Help,
了解一下ComboBox.Items要怎麼使用^^ 2. 可以使用TDBComboBox. 不知道有沒有解決你的問題^_^
論譠上有相當多文章, 可以多利用查詢的功能,
像說, 你要使用ComboBox, 就可以以ComboBox為Keyword,
會查到相當豐富的資訊的^_^ --------------------------
~天下本無事 庸人自擾之~
|
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
補充一下﹕ 1﹒新增選項有在設計時期(屬性設定)与執行時期(程式碼設定)兩種時機進行﹐分別如下﹕
A﹒設計時期﹕combobox元件有一個Items屬性﹐其形態為String﹐點擊之會開啟String List Editor對話方框﹐在其中逐行輸入選項名稱即可(將Text屬性中的內容移除﹐若不移除的話﹐Text屬性值也會作為選項之一)﹒
B﹒執行時期﹕如Windyboy所言﹐在程式碼中可以列為ComboBox1.Items.Add.
例﹕在目前的ComboBox1中新增選項﹐選項內容為Edit1的內容﹐程式碼如下﹕
ComboBox1.Items.Add(Edit1.Text); 2﹒ComboBox元件也可用于對應資料庫中資料的編輯﹐只是相比之下需要列入比較多的程式碼來控制﹐使用DBComboBox資料感知元件(在Data Controls元件頁中)比較容易控制﹐也不需要寫程式碼﹐只需要在屬性設定時設定正确即可﹐主要有如下兩個屬性需要設定﹕
DataSource屬性﹕目前連接資料集元件的DataSource名稱﹔
DataField屬性﹕指定此DBComboBox對應資料表中哪一個欄位﹒ 如果你還需要有關利用ComboBox元件來編輯資料表中資料的程式碼﹐請參考如下
with Table1 do
begin
Try
Table1.Edit; //Table1進入編輯狀態
FieldbyName('姓名').AsString := ComboBox1.Text; //利用ComboBox1的Text屬性值來作為'姓名'欄位的資料內容﹒
Post; //存入資料庫
ShowMessage('修改存檔完成')
Except
ShowMessage('發生錯誤﹐修改存檔未完成');
end;
end; 努力,相信會獲得美麗!
忻晟 發表人 -
------
忻晟 |
244
一般會員 發表:3 回覆:2 積分:1 註冊:2003-07-21 發送簡訊給我 |
with Table1 do
begin
Try
Table1.Edit; //Table1進入編輯狀態
FieldbyName('姓名').AsString := ComboBox1.Text; //利用ComboBox1的Text屬性值來作為'姓名'欄位的資料內容﹒
Post; //存入資料庫
ShowMessage('修改存檔完成')
Except
ShowMessage('發生錯誤﹐修改存檔未完成');
end;
end; 我重新開了一個From
拉了一個Table、Edit、Combobox~
照著上面的語法~
不過還是有錯......>"<
table裡要建資料嗎????
我要做的是一個記帳本~~~
我完全不知道該如何著手.....T_____T
|
ha0009
版主 發表:16 回覆:507 積分:639 註冊:2002-03-16 發送簡訊給我 |
你好:
1. 描述問題時要盡可能把你遭遇的狀況表達清楚。
2. 當你不清楚錯誤發生原因時,別把系統的錯誤訊息攔截。因為那是判斷錯誤的重要資訊。
3. 如果 Table 是空的,你不能下 Table1.Edit; 因為沒 Record 讓你修改。所以要使用 Table1.Insert 來新增資料。
with Table1 do begin Try //判斷是否空的資料表 if IsEmpty then Insert //Table1進入新增狀態 else Edit; //Table1進入編輯狀態 FieldbyName('姓名').AsString := ComboBox1.Text; //利用ComboBox1的Text屬性值來作為'姓名'欄位的資料內容﹒ Post; //存入資料庫 ShowMessage('修改存檔完成') Except //攔截錯誤,同時秀出錯誤原因。 on E: Exception do ShowMessage(format ('發生錯誤﹐修改存檔未完成。錯誤原因:%s', [E.Message])); end; end;希望對你有用 < src="http://sourceprovide.deepen.com.tw/K_Top/bp.gif"> |
ha0009
版主 發表:16 回覆:507 積分:639 註冊:2002-03-16 發送簡訊給我 |
你好:
ProjectProject1.exe raised exception class EDatabaseError with message'Table1': Cannot perform this operation on a closed dataset'.Process stopped.Use Step or Run to contnue.上面的錯誤訊息是說你無法操作已關閉的資料表。 with Table1 do begin Try // 判斷資料表是否開啟 if not Active then Open; //判斷是否空的資料表 if IsEmpty then Insert //Table1進入新增狀態 else Edit; //Table1進入編輯狀態 FieldbyName('姓名').AsString := ComboBox1.Text; //利用ComboBox1的Text屬性值來作為'姓名'欄位的資料內容﹒ Post; //存入資料庫 ShowMessage('修改存檔完成') Except //攔截錯誤,同時秀出錯誤原因。 on E: Exception do ShowMessage(format ('發生錯誤﹐修改存檔未完成。錯誤原因:%s', [E.Message])); end; end; |
244
一般會員 發表:3 回覆:2 積分:1 註冊:2003-07-21 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |