SMART datagrid v.1 > Examples

Back  Forward

Row Deleting  Example  準備中...

ユーザーはCtrl+Delキーで現在選択した行達を削除することができる。 削除を要請した行達の目録がDataSetに渡され、 データセットが実際に目録のグリッド行達に繋がった各データ行達を削除すれば結果がグリッドに反映される。 

ユーザーが行を削除することが可能になるためには、まずeditOptionsEditOptions.deletabletrueに設定しなければならない。(デフォルト値はfalse) また、EditOptions.confirmWhenDeletetrue(デフォルト値)なら、 実際に削除に入る前にEditOptions.deleteMessageで指定した削除の可否を確認するダイアログボックスが表示される。 

  

Grid - 1
rows

行の修正行の追加と同様に、 データセットでデータの行達が削除になった後GridDataSet.onRowsDeletedイベントが発生し、 削除する直前にグリッドのonRowsDeletingイベントが発生する。 このイベントハンドラーの内で明示的にtrueをリターンすれば削除されない。 

また、グリッドが削除の要請をデータセットに渡す前に先にonDeletingイベントが発生するが、 同様にこのイベントハンドラー内で明示的にfalseをリターンすれば行の削除が取消になる。 


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

Soft Delete

ユーザーが選択した行達をctrl+delキーで削除しようとする時、 その行達をデータセットで実際に削除する代わりに、行の状態だけ削除になった状態に変更することができる。 DataSet.softDeleteプロパティーをtrueに指定してデータ行達を削除すれば、 CREATEDである行達は CREATE_AND_DELETEDに、 他の行達はDELETEDに状態が変更になる。 

以後に削除状態の行達を一気に削除するようにサーバーに要請することができる。 また、削除状態の行達を復元させることもできる。 

 

 

 

ソースを見る 

See Also
DataSet.softDelete
EditOptions
GridBase.editOptions
GridBase.onDeleting
GridDataSet.onRowsDeleting
GridDataSet.onRowsDeleted