2009-03-10 4 views
0

1) GridView.DataKeyNames 속성을 설정하지 않고 (데이터 소스 컨트롤을 통해) 데이터 레코드를 업데이트 할 수 있지만 삭제할 때 (ConflictDetection 속성이 OverwriteChanges로 설정된 경우) DataKeyNames를 설정해야합니다 , 그렇지 않으면 GridView는 데이터 소스 컨트롤에 매개 변수를 전달하지 않습니다. 레코드 삭제 (GridView 사용)

답변

1

나는 documentation이 가장 잘 설명한다고 생각 주셔서 감사합니다. DataKeyNames 속성이 "기본 키 필드의 이름을 포함하는 배열"이라고 나와 있습니다.

gridview를 동적으로 수정하면 행에서 값을 빌드하고이를 데이터 소스로 전달합니다. 삭제할 때 필요한 모든 것이 기본 키라고 가정합니다. 편리하게도이 값은 해당 행의 DataKeys에 저장되므로 얻을 수있는 유일한 값입니다.

2

GridView는 조작하려는 레코드의 식별자로 DataKeyNames을 사용합니다. 테이블의 기본 키처럼. 그들은 당신의 조작의 WHERE 절에서 대략적으로 사용됩니다.