Q&A

  • mutiselection에서...
님들..도와주세여~!!
지금...디비그리드를 통해서 쿼리의 내용을 보여주고 있습니다.
제가 하고 싶은건...
디비의 내용을 쿼리를 통해 그리드에 보여주고...
그 그리드에서 자기가 수정하고 싶은 것을 선택(여러개)..디비 내용을 수정하는 것입니다.
근데...그리드에 보여주고...선택하는 것 까진 되는데...수정하는 부분에 있어서 궁금한 점이 있습니다.
   if MessageDlg('선택된 자료들을 저장합니다.'+#13+#10+''+#13+#10+'실행하시겠습니까?'+#13+#10+'', mtConfirmation, [mbYes, mbNo], 0)=MrYes then begin

     if RxDBGrid3.SelectedRows.Count>0 then
        with RxDBGrid3.DataSource.DataSet do
        for i:=0 to RxDBGrid1.SelectedRows.Count-1 do  begin
//이부분에 수정하는 부분이 들어가야 할 것 같은데...
*******            TempTable.Edit;
*******            TempTable.FieldByName('abc').AsString := Hedit1.text;
*******            TempTable.Post;      
//들어가는 내용이 이렇게 되면..되는 겁니까?          
        end;
      BtnView.Click;
  end;


******* 부분에 어떻게 들어가야 하는지..님들 도와주세여~?
제 생각이 맞긴 한건가여..ㅡㅜ

개념 정리가 제대로 안된 초보라....이것저것 이해가 안되는 것이 많습니다.
님들의 가르침..기다리고 있겠습니다.
1  COMMENTS
  • Profile
    yosule 2003.05.14 21:39


    지금까지 해결하셨나 모르겠네요.
    핵심인 선택되어진 Row냐 아니냐를 구분하는 루틴이 빠진
    것 같군요.

    일단 레코드의 처음부터 끝까지 돌리는 루틴이 들어가야하고
    레코드를 이동하다 선택된 Row냐 아니냐를 구분하는 루틴만
    들어가면 될 것 같군요.

    RxDBGrid3.DataSource.DataSet = TempTable은 동일한거
    라고 생각하고...

    TempTable.First;
    while not(TempTable.EOF) do
    begin
       if RxDBGrid1.SelectedRows.CurrentRowSelected then
       begin
             TempTable.Edit;
             TempTable.FieldByName('abc').AsString := Hedit1.text;
             TempTable.Post;      
       end;
       TempTable.Next;
    end;

    생각만으로 정리를 했는데 잘 됐으면 좋겠네요.