線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1174
推到 Plurk!
推到 Facebook!

DBGrid問題

尚未結案
20052020
初階會員


發表:121
回覆:79
積分:40
註冊:2005-01-18

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-12-06 09:13:51 IP:61.59.xxx.xxx 未訂閱
請問各位大大幫我看看 以下當我走到DBGrid的第七格時還沒編輯就跳新增了, 該如何編輯第七格後在跳新增    procedure TForm1.DBGrid1KeyPress(Sender: TObject; var Key: Char); begin    if Query_Q3_out.Locate('Q_1', DBGrid1.Fields[0].value, []) then       begin                                        DBGrid1.Fields[1].value:=Query_Q3_OUT.FieldByName('Q_2').AsString;//品名      end;       if key = #13 then    if ((TDBGrid(Sender).SelectedIndex <6) and (TDBGrid(Sender).DataSource.DataSet.FieldByName(TDBGrid(Sender).SelectedField.FieldName).Value=Null))then begin DBGrid1.SetFocus; ShowMessage('請輸入資料!'); end else //********************************************************** if Query_PC2_DBGrid1.State = dsBrowse then //狀況 = 瀏覽 begin //選擇 索引 // 欄位點數 if DBGrid1.SelectedIndex < (DBGrid1.FieldCount - 1) then begin //選擇 索引 //選擇 索引 DBGrid1.SelectedIndex := DBGrid1.SelectedIndex 1; end else begin Query_PC2_DBGrid1.Next; //選擇 索引 DBGrid1.SelectedIndex := 0; end; end else if Query_PC2_DBGrid1.State In [dsInsert, dsEdit] then begin if DBGrid1.SelectedIndex < (DBGrid1.FieldCount - 1) then begin DBGrid1.SelectedIndex := DBGrid1.SelectedIndex 1; end else begin Query_PC2_DBGrid1.Post; Query_PC2_DBGrid1.Next; DBGrid1.SelectedIndex := 0; end; //********************************************************* if DBGrid1.SelectedIndex =6 then if((TDBGrid(Sender).DataSource.DataSet.FieldByName(TDBGrid(Sender).SelectedField.FieldName).Value=Null))then begin Query_PC2_DBGrid1.FieldByName('D_10').AsString:=''; end; //********************************************************* if DBGrid1.SelectedIndex =7 then if((TDBGrid(Sender).DataSource.DataSet.FieldByName(TDBGrid(Sender).SelectedField.FieldName).Value=Null))then begin Query_PC2_DBGrid1.FieldByName('D_11').AsString:=''; //********************************************************* //儲存 if DBGrid1.SelectedIndex =7 then Query_PC2_DBGrid1.Post; Query_PC2_DBGrid1.ApplyUpdates; Query_PC2_DBGrid1.CommitUpdates; Query_PC2_DBGrid1.CancelUpdates; //********************************************************* if MessageDLG('是否還要新增!',mtinformation,[mbYES,mbNo],0)=mryes then begin Query_PC2_DBGrid1.Insert;//新增後 DBGrid1.SelectedIndex :=0; //********************************************************** Query_PC2_DBGrid1.FieldByName('D_1').AsString:=D1; Query_PC2_DBGrid1.FieldByName('D_3').AsString:=D2; Query_PC2_DBGrid1.FieldByName('D_2').AsString:=D3; //********************************************************** ShortDateFormat := 'YYYY/MM/DD'; Query_PC2_DBGrid1.FieldByName('D_12').AsString:=DateToStr(Now); end; end; end; end;
------
Xax
kgt
高階會員


發表:17
回覆:308
積分:165
註冊:2002-03-13

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-12-06 14:47:14 IP:210.243.xxx.xxx 未訂閱
if key = #13 then if ((TDBGrid(Sender).SelectedIndex <=6) and (TDBGrid(Sender).DataSource.DataSet.FieldByName(TDBGrid(Sender).SelectedField.FieldName).Value=Null))then begin DBGrid1.SetFocus; ShowMessage('請輸入資料!'); end else
系統時間:2024-06-23 10:06:03
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!