매쉬업 작성기 > 위젯 > 표준 위젯 > 그리드 위젯 > 그리드에 행 추가 및 삭제
그리드에 행 추가 및 삭제
위젯 RowAddButtonRowDeleteButton 속성을 사용하여 그리드 런타임에 행을 추가하거나 삭제할 수 있습니다. 그리드의 데이터 변경 사항은 EditedTableDeleteTable 위젯 속성에 저장됩니다. 그리드 편집 내용은 클라이언트측에 저장됩니다. 서버의 데이터를 업데이트하려면 이러한 인포테이블을 사용자 정의 데이터 서비스에 바인딩합니다.
그리드에 행 추가
1. Mashup Builder에서 그리드 위젯을 선택합니다.
2. 속성 패널에서 RowAddButton 속성을 True로 설정합니다.
3. 저장을 클릭한 다음 매쉬업 보기를 클릭합니다.
런타임에 새 행을 추가하려면 추가를 클릭한 다음 양식을 사용하여 셀 값을 설정합니다. 기본적으로 표준 및 트리 그리드의 아래쪽에 새 행이 추가됩니다. 행 데이터는 EditedData 인포테이블 속성에 저장됩니다. 이 속성을 사용하여 사용자 정의 데이터 서비스를 통해 서버에 새 데이터 행을 추가할 수 있습니다. 그리드 데이터에 페이지 매김이 적용되면 현재 페이지에 새 행이 추가됩니다. 예를 들어, 페이지에서 최대 결과 수가 10이고 사용자가 런타임에 새 행을 추가하는 경우 현재 페이지의 행 수는 11로 변경됩니다.
그리드에 새 행을 추가하면 필터 상자를 사용할 때 현재 필터가 재설정됩니다. 그리드에서 칩 기반 데이터 필터 또는 서비스와 같은 외부 필터링을 사용하는 경우 이 필터가 지속됩니다. 새 행이 추가될 때 필터를 적용하려면 필터 서비스를 트리거해야 합니다. 정렬이 그리드에 적용되면 새 행이 자동으로 정렬됩니다. 트리 그리드에서는 기본적으로 데이터 끝에 새 행이 추가됩니다. 새 행을 상위 행의 하위로 추가하려면 상위 행을 선택하거나 데이터에 상위 행 ID를 포함합니다.
* 
행 데이터가 유효한지 확인하려면 각 열에 대해 유효성 검사를 구성합니다.
그리드에서 새 행 강조 표시
ThingWorx 9.4 이상에서는 HighlightNewRows 속성을 활성화하여 그리드의 새 행 옆에 표시기를 표시할 수 있습니다. 이렇게 하면 대용량 데이터 집합에서 데이터를 정렬하거나 필터링할 때 새 행을 더 쉽게 찾을 수 있습니다. 행을 선택하거나 페이지를 새로 고치면 표시기가 제거됩니다.
그리드에서 행 삭제
위젯 RowSelection 속성이 단일 또는 여러로 설정되어 있으면 행을 선택하고 삭제할 수 있습니다. 행을 삭제하려면 다음 단계를 수행하십시오.
1. Mashup Builder에서 그리드 위젯을 선택합니다.
2. 속성 패널에서 RowDeleteButton 속성을 True로 설정합니다.
3. 저장을 클릭한 다음 매쉬업 보기를 클릭합니다.
런타임에 삭제할 행을 선택한 다음 삭제를 클릭합니다. 삭제된 행이 DeletedData 인포테이블에 추가됩니다. 그리드 데이터 소스에서 이러한 행을 삭제하려면 인포테이블을 사용자 정의 데이터 서비스에 바인딩합니다.
* 
트리 그리드에서 상위 행을 삭제하면 해당 행 아래의 모든 하위 항목도 삭제됩니다.
행 삭제 시 확인 메시지 표시
ThingWorx 9.3.1 이상에서는 위젯 이벤트 및 서비스를 사용하여 삭제 작업을 확인 대화 상자에 바인딩할 수 있습니다. 이렇게 하면 하나 이상의 데이터 행이 삭제될 때 확인 메시지를 표시할 수 있습니다. 확인 메시지를 추가하고 구성하려면 다음 단계를 수행합니다.
1. Mashup Builder의 함수 패널에서 확인을 만든 후 함수를 다음과 같이 구성합니다.
확인 대화 상자에 대한 제목 및 메시지를 정의합니다.
작업 버튼의 레이블을 정의합니다.
확인 함수에 대한 자세한 내용은 확인을 참조하십시오.
2. 그리드 위젯의 속성 패널에 있는 DeleteRowClicked 이벤트를 함수 패널에 있는 확인 함수의 OpenConfirmation 서비스에 바인딩합니다.
3. 함수의 ActionClick 이벤트를 그리드의 ConfirmDelete 서비스에 바인딩합니다.
4. 저장을 클릭한 다음 매쉬업을 봅니다.
그리드에서 하나 이상의 행을 선택하고 삭제하면 확인 메시지가 표시됩니다.
Delete를 클릭하면 그리드 위젯의 ConfirmDelete 서비스가 실행되고 그리드에서 행이 제거됩니다.
* 
그리드에서 데이터를 영구 삭제하려면 데이터 서비스 수준에서 데이터를 삭제하는 데이터 서비스를 사용해야 합니다.
도움이 되셨나요?