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

DBGRID+checkbox判斷是否選取

答題得分者是:max5020
lisahsu7488
一般會員


發表:9
回覆:3
積分:2
註冊:2007-10-02

發送簡訊給我
#1 引用回覆 回覆 發表時間:2009-06-03 11:35:46 IP:210.243.xxx.xxx 訂閱
各位大大,我想判斷checkbox是否多個選取
但是我只選了一個,message卻告訴我選了二個
想請問一下,是否我的判斷式寫錯了嗎,囧rz…謝謝
procedure Tfrmbase1.SBsaveClick(Sender: TObject);
var
i,state:integer;
begin
state := 0;
for i:= 1 to dbgrid1.DataSource.DataSet.RecordCount do
begin
if dbgrid1.Columns.items[0].Field.value='T' then
begin
state :=state 1 ;
end;
end;
if state = 0 then
begin
showmessage('贈品尚未選取,請選取');
exit;
end else
if state >= 2 then
begin
showmessage('只可選取一項贈品,請重新選取');
exit;
end else
if state = 1 then
begin
showmessage('OK');
end;
end;
max5020
資深會員


發表:30
回覆:277
積分:321
註冊:2003-06-04

發送簡訊給我
#2 引用回覆 回覆 發表時間:2009-06-03 12:19:04 IP:59.120.xxx.xxx 訂閱
[code delphi]
procedure Tfrmbase1.SBsaveClick(Sender: TObject);
var
i,state:integer;
begin
state := 0;
dbgrid1.DataSource.DataSet.First;
while not dbgrid1.DataSource.DataSet.eof do
begin
if dbgrid1.Columns.items[0].Field.value='T' then state :=state 1 ;
dbgrid1.DataSource.DataSet.Next;
end;
if state = 0 then
begin
showmessage('贈品尚未選取,請選取');
exit;
end else
if state >= 2 then
begin
showmessage('只可選取一項贈品,請重新選取');
exit;
end else
if state = 1 then
begin
showmessage('OK');
end;
end;

[/code]
編輯記錄
max5020 重新編輯於 2009-06-03 12:20:44, 註解 無‧
max5020 重新編輯於 2009-06-03 12:21:12, 註解 無‧
lisahsu7488
一般會員


發表:9
回覆:3
積分:2
註冊:2007-10-02

發送簡訊給我
#3 引用回覆 回覆 發表時間:2009-06-03 15:23:36 IP:210.243.xxx.xxx 訂閱
謝謝max0520大大的解答
原來是少了這一行…
dbgrid1.DataSource.DataSet.Next;
系統時間:2024-05-16 23:42:36
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!