SMART datagrid v1.4 > Examples

[ grids ver.1.3.8]   Back  Forward

Row Deleting  Example

사용자는 Ctrl+Del 키로 현재 선택된 행들을 삭제할 수 있다. 삭제 요청된 행들의 목록이 DataSet에 전달되고, 데이터셋이 실제로 목록의 그리드행들에 연결된 각 데이터행들을 삭제하면 그 결과가 다시 그리드에 반영된다. 

사용자 삭제가 가능하려면 우선 GridBase.editOptionsdeletabletrue로 설정해야 한다(기본값은 false). 또, EditOptions.confirmWhenDeletetrue(기본값)이면, 실제 삭제 절차에 들어가기 전에 EditOptions.deleteMessage로 지정한 삭제 여부 확인 대화상자가 표시된다. 

  

Grid - 1
rows

행 수정이나 행 추가와 유사하게, 데이터셋에서 데이터행들이 삭제된 후 GridDataSet.onRowsDeleted 이벤트가 발생하고, 삭제 직전에 GridDataSet.onRowsDeleting 이벤트가 발생한다. 이 이벤트 내에서 명시적으로 false를 리턴하면 삭제되지 않는다. 

또, 그리드가 삭제 요청을 데이터셋에 전달하기 전에 먼저 onDeleting이벤트를 발생시키는데, 역시 이 이벤트 핸들러 내에서 명시적으로 false를 리턴하면 행 삭제가 취소된다. 


Code -1
    grdMain.onDeleting = function (grid, rowIndices) {
        if ($('#chkEventDeletable').is(':checked')) {
            return false;
        }
    };

Soft Delete

사용자가 ctrl+del 키로 선택된 행들을 삭제하려 할 때, 그 행들을 데이터셋에서 실제로 제거하는 대신, 행의 상태만 삭제된 상태로 변경할 수 있다. DataSet.softDelete 속성을 true로 지정하고 데이터행들을 삭제하면, DataRowState.CREATED인 행들은 CREATE_AND_DELETED로, 나머지 행들은 DELETED로 상태가 변경된다. 

이 후에 삭제 상태의 행들을 한꺼번에 삭제하도록 서버에 요청할 수 있다. 또, 삭제 상태 행들을 복원시킬 수도 있다. 

 

 

 

소스보기 JSP 

See Also
DataSet.softDelete
EditOptions
GridBase.editOptions
GridBase.onDeleting
GridDataSet.onRowsDeleting
GridDataSet.onRowsDeleted
Examples
행 추가
행 수정
셀 편집
State Cells
Edit Events
Edit Keys