2

こんにちは、slickgrid に新しい行を挿入するためにこれら 2 つのコードを試しました。

コード-1:

data1.push({id: "12345", name: "secKey", field: "secKey", complete:true});
        //grid1.setData(data1);
        //grid1.render();

滑らかなグリッドセルに未定義として挿入されています..

コード-2:

 try{
            var rowData = grid1.getData();
            //alert(rowData+"rowdata");

            newId = dataView1.getLength();
            //alert(newId);
            newRow.id = newId + 1;
            //alert(newRow.id);
            var newRow = {title: "new Title"};
            //alert(newRow);
            dataView1.insertItem(newRow.id, newRow);
            alert("end");
            }catch(e){
                alert("error:"+e.description);
            }

コード 2 がキャッチされ、エラーが発生します。コードを変更する必要があることを教えてください。

4

3 に答える 3

10

データビューを使用している場合は、次のように実行できます。

関数 AddNewRow() {
    dataView.addItem({id: "12345", name: "secKey", field: "secKey", complete:true});
    dataView.refresh();
}

または、データビューを使用していない場合は、次のように実行できます。

    関数 AddNewRow() {
        grid.getData().splice(grid.getDataLength(), 1, {});
        grid.invalidateRow(grid.getSelectedRows());
        grid.updateRowCount();
        grid.render();
    }
于 2013-08-08T02:06:04.213 に答える
1

Slick.DataView を使用している場合は、.addItemメソッドを使用する必要があります

dataView.beginUpdate();
dataView.addItem(item);
dataView.endUpdate();
于 2013-08-07T20:46:21.277 に答える