dbgrid의 한행을 db 네비게이터를 이용하여 삽입,삭제를합니다.
문제는 dbgrid의 첫번째 열은 각레코드의 번호가 순차적으로 있기에 레코드가 삽입,삭제되었다면 번호를 다시 정렬시켜야 합니다. 저의 경우는 for문을 이용하여 다시 1번부터 순차적으로 번호를 생성시켜 각 레코드에 삽입시킬려고 합니다. 여기서 제가 알고 싶은 내용은 만약 1000개의 레코드중 200번을 삭제하였다면 999개의 레코드를 소트시키는 것이 아니라 201번부터 소트를 시키면 레코드들이 순차적으로 마추어 지기에 이런한 방법을 사용하려고 합니다.
dbgrid에서 직접 삽입,삭제를 행할 때 삽입,삭제될 레코드의 특정 필드의 값을 알아내는 방법은 없나요? 그것이 가능하다면 위와 같은 경우 삭제될 레코드의 번호200번을 받아 201번을 200번으로 202번을 201번으로.... 하면 될것 같아서 말입니다.
조언부탁합니다.
> dbgrid의 한행을 db 네비게이터를 이용하여 삽입,삭제를합니다.
> 문제는 dbgrid의 첫번째 열은 각레코드의 번호가 순차적으로 있기에 레코드가 삽입,삭제되었다면 번호를 다시 정렬시켜야 합니다. 저의 경우는 for문을 이용하여 다시 1번부터 순차적으로 번호를 생성시켜 각 레코드에 삽입시킬려고 합니다. 여기서 제가 알고 싶은 내용은 만약 1000개의 레코드중 200번을 삭제하였다면 999개의 레코드를 소트시키는 것이 아니라 201번부터 소트를 시키면 레코드들이 순차적으로 마추어 지기에 이런한 방법을 사용하려고 합니다.
>
> dbgrid에서 직접 삽입,삭제를 행할 때 삽입,삭제될 레코드의 특정 필드의 값을 알아내는 방법은 없나요? 그것이 가능하다면 위와 같은 경우 삭제될 레코드의 번호200번을 받아 201번을 200번으로 202번을 201번으로.... 하면 될것 같아서 말입니다.
> 조언부탁합니다.
*^.^**^.^**^.^**^.^**^.^**^.^**^.^**^.^**^.^**^.^**^.^**^.^**^.^**^.^**^.^**^.^*
문의하신 사항에서요 순차적으로 있기에 레코드 번호를 다시 정렬시켜야 한다고 했는데 그필드의 값을 인덱스키로 잡으면 강제로 소트를 시키지 않아도 삽입과 삭제가 일어나도 자동으로 소트가 되어질 것 같은데요. 그 필드을 인데스키로 잡을 수 없은 경우라면
aaa := DBGrid1.Fields[00].AsString;
이렇게 쓰면 DBGrid1의 맨 첫번째 필드의 값이 aaa에 들어가겠죠.
*^.^**^.^**^.^**^.^**^.^**^.^**^.^**^.^**^.^**^.^**^.^**^.^**^.^**^.^**^.^**^.^*