1

出来ますか?どのように?

4

5 に答える 5

0

DBGridにリンクしたデータセットによって異なります。TClientDatasetはできます。

于 2010-02-22T14:40:57.563 に答える
0

TDBGridがメモリデータセットに接続されている場合は、可能です。選択したレコード(選択したレコード)を取得した結果(メモリ内)で変更しながら、選択したレコードをIDでデータベースに照会します。

于 2010-05-24T21:28:24.267 に答える
0

DBGridのデータソースのデータセットは何ですか?

ADOConnectionを使用していて、データセットとしてADOTableまたはADOQueryを使用している場合は、次のスクリプトを試すことができます。

ADOTable1.close;
ADOTable1.open;

また

ADOQuery1.close;
ADOQuery1.open;

上記のスクリプトは、DBGrid全体を更新します。

私の知る限り、DBGridの1つのレコードを更新する方法があります。私が間違っている場合は私を訂正してください。:)

于 2013-10-25T22:43:26.737 に答える
0

更新する前にIDを保存する必要があります。次に、古いレコードにカーソルを置いて同じIDを見つけます。このような:

procedure TForm1.refreshQuery;
var
   oldID: integer;
begin
   oldID :=query1Id_table.AsInteger;
   query1.Refresh;
   //or if refresh not works
   //query1.close;
   //query1.open;
   query1.Locate('Id_table',oldID,[]);
end; 

またはDataSetに依存します。この関数が機能するかどうかを確認してください:

query1.RefreshCurrentRow;
于 2018-10-27T17:03:14.227 に答える
0

あなたはあなたが編集したいものを探すために値を取得する特定の何かを求める入力ボックスを使うことができますそしてあなたはそれを見つけるために検索機能を使うことができますそしてそれが見つかったらあなたは編集して投稿します

Var
    sRegisterNo, sAnswer : string;
Begin
    sAnswer := Inputbox('Registerno', 'Enter the user registerNo you want to edit' , '' );

    With dmName do
    Begin
        sRegisterNo := tblMembers['RegisterNo'];

        If sRegisterNo.locate(sAnswer,  'sRegisterNo') =  True then
        Begin
            tblMembers.edit;
            // Use edits to give the new values 
            // Ex. EdtRegisterno.text := RE001;
            tblMembers.post
        End;
    End;
End;
于 2018-10-28T17:05:37.657 に答える