2017-05-18 4 views
1

나는 react-bootstrap-table을 사용하여 CRUD 응용 프로그램을 작성하여 데이터베이스 테이블에 저장된 레코드를 편집합니다. 기본 키는 데이터베이스로 생성됩니다 (int 필드는 데이터베이스에 레코드를 삽입 할 때 증가 된 값을가집니다). 이 필드의 TableHeaderColumnisKey={true}으로 정의됩니다.react-bootstrap-table : 데이터베이스 생성 값으로 키 필드를 처리하는 방법?

삽입 대화 상자가 작동하는 데 문제가 있습니다. 삽입 할 열 (hiddenOnInsert)을 숨기면 대화 상자에 "ID는 빈 값일 수 없습니다."라는 유효성 검증 오류가보고됩니다.

삽입 대화 상자가 열리기 전에 함수를 호출하여 생성 된 행의 키 열에 더미 값을 설정할 수 있지만 운이없는 것은 검색했습니다.

데이터베이스 생성 키 열에서 삽입 대화 상자를 어떻게 사용할 수 있습니까?

답변

4

직접 답변 : onAddRow 속성으로 설정된 함수는 행 삽입 대화 상자를 통해 새 행이 추가되기 전에 호출됩니다. 나는 이것을 사용하여 키 필드에 0 또는 ""같은 더미 값을 씁니다. 또한 에 hiddenOnInsert을 설정하여 삽입 할 키 필드를 숨 깁니다. 삽입 후 (afterInsertRow으로 설정된 함수에서) REST를 통해 데이터베이스에 새 엔티티를 추가합니다. REST 메서드는 새 키 값을 반환합니다. 새로운 엔티티가 다음에 삽입 될 때 부트 스트랩 테이블이 기존 키 값에 대해 불평하지 않도록이 값을 삽입 된 엔티티의 키 필드에 설정합니다.

+0

안녕하세요, 어떻게 onID의 값을 onAddRow 함수에서 설정했는지 정확하게 설명 할 수 있습니까? 나는 그것을 올바르게 얻는 것처럼 보일 수 없다. 메소드에 들어가지만 값이 설정되지 않은 것 같습니다. 양식이 비어있는 것에 대해 불평하고 있기 때문입니다. onAddRow (행 : MyType, colInfo : any, errorCallback : any) { row.id = 0; false를 반환합니다. } – enkara