페이지에 1.10 데이터 시트가 있습니다. 표에서 선을 복사 한 다음 다른 선에 붙여 넣을 수있는 옵션이 있습니다. 이것은 선택된 행을 검사하여 수행됩니다. 그리드를 다시 그리면 내 문제가 발생합니다.DataTable을 다시 그릴 때이 함수에 어떤 문제가 있습니까?
redrawGrid: function (position, newLine) {
alert(newLine.linenbr)
var tbl = $("#list").DataTable();
var curData = tbl.rows().data();
curData.splice(position, 0, newLine);
console.log(curData);
for (var ndx = 0; ndx < curData.length; ndx++) {
alert(curData[ndx].descr)
curData[ndx].linenbr = ndx + 1;
console.log(curData[ndx].linenbr);
}
console.log(curData)
tbl.clear();
tbl.rows.add(curData);
tbl.draw();
},
위의 내용이 내 문제가되는 기능입니다. 나는 선을 붙여야하는 위치로 지나간다. 정확한 위치입니다. 복사 된 행과 관련된 데이터를 전달합니다. 맞습니다. console.log에서 테이블을 지우기 직전에 테이블을 지우거나 다시 그릴 필요가 없도록 오류를 생성하는 동안 모든 것이 완벽하게 보입니다. 표가 다시 그려지면 새 줄은 붙여 넣기되지 않습니다. 대신 복사 한 원본 줄 바로 아래에 붙여 넣습니다. for for 루프에서는 linenbr 속성을 콘솔에 기록 할뿐만 아니라 설명과 함께 경고하는 부분을 볼 수 있습니다. 그 시점에서 그 말이 맞습니다. 그러나 테이블을 다시 그릴 때, 테이블 정렬 기준 인 linenbr은이 줄이 복사 된 원래의 linenbr 이후의 다음 순차 번호에 해당하는 숫자로 변경됩니다. 누군가 내가 이것을 잘못하고 있다고 말할 수 있습니까? 모든 도움에 감사드립니다.