ユーザーが直接新しい行を既存の行達の中に追加するためには그리드GridBase.editOptionsの insertableがtrueに指定されなければならない。 また、最後の行の次に追加するためにはappendableがtrueに指定しなければならない。 二つのプロパティー両方ともデフォルト値はfalseである。.
まず、行のインサートの為にはインサートする位置にフォーカスを移した後、 insertキーを打つ。 インサートされた行に内容を入力した後行の修正と同じように追加を完了 するためにはキーボードの方向キーやマウスでフォーカスを他の行に移動させればいい。
入力が完了した行のデータはGridDataSetに渡され、データ行の追加が完了すれば GridDataSet.onRowInsertedイベントが発生する。 また、行の修正に似たようにグリッドの行のインサートを始まる直前に GridBase.onRowInsertingイベントが発生するが、 このイベントのハンドラの内で明示的にfalseをリターンすれば行にインサートが始められないようになる。
grdMain.onRowInserting = function (grid, rowIndex) {
if ($('#chkEventInsertable').is(':checked')) {
return false;
}
};
appendableがtrueなら最後の行で下の方向キーを打って行のインサートを始めることができる。 イベントなどはインサートの場合と同じである。
また、GridBase.editを呼び出して行の修正を始めるのと同じように、 GridBase.insert, GridBase.appendを呼び出して各行のインサートと追加ができて、 行の追加が完了になってデータセットに渡した値でデータ行が実際に生成になったら GridDataSet.onRowInsertイベントが発生する。
dsMain.onRowInserted = function (ds, row) {
console.log('Data row inserted at ' + row);
};