DBGrid問題 |
尚未結案
|
20052020
初階會員 ![]() 發表:121 回覆:79 積分:40 註冊:2005-01-18 發送簡訊給我 |
請問各位大大幫我看看
以下當我走到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 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |