enableAddNewRow: true
으로 편집 가능한 슬릭 그리드를 만들고 있습니다.Slickgrid - 디스플레이에 즉시 새 행 채우기
각 새 행에 표시되는 즉시 기본 데이터를 갖기를 원합니다.
grid.onAddNewRow.subscribe(function (e, args) {
var item = {"num": data.length, "id": "new_" + (Math.round(Math.random() * 10000)), "title": "New task", "duration": "1 day", "percentComplete": 0, "start": "01/01/2009", "finish": "01/01/2009", "effortDriven": false};
$.extend(item, args.item);
dataView.addItem(item);
});
이것은 당신이 셀 중 하나 (에 값을 넣을 때까지 onAddNewRow
이벤트가 발생하지 않기 때문에 나는, 그러나 원하는 확실히되지 않습니다 :
example 4에서 제안 된 솔루션은 onAddNewRow
이벤트를 사용하는 것입니다 예를 들어 행에 기본값이 표시되기 전에 셀 중 하나에 무언가를 입력 한 다음 셀에서 탭/클릭해야합니다.
내가 필요로하는 것은 새로운 라인이 그리드에 나타나 자마자 기본값을 삽입하는 방법입니다.
누구나 의견이 있습니까?
편집 그래서, 더 실험에, 나는 함께 온 다음
즉시 새 행의 첫 번째 셀이기 때문에, 기본 데이터로 새 행을 추가grid.onBeforeEditCell.subscribe(function(e, args) {
if (typeof args.item === 'undefined) {
grid.onAddNewRow.notify({}, null, null);
}
})
액세스되었습니다.
내 문제는 이제 새 행이 완전히 추가되기 전에 셀 편집기가 열린다는 것입니다. 즉, 편집기가 초기화 될 때 여전히 정의되지 않았기 때문에 편집기가 기본값을 선택하지 않습니다.
: 말했다되고, 당신이 같이 jQuery를
timeout()
기능을 사용하려고 할 수 있습니다 표시, 내가 올바른 방향으로 움직이고 있는지 여부 :-) –시간 초과 호출 안에 편집기를 넣으십시오. 충분해야합니다. – ghiscoding
@ghiscoding - 고마워요. 이 문제를 테스트 할 시간을 찾기 위해 며칠이 걸렸지 만 귀하의 의견을 인정하기를 원합니다. 그것은 좋은 제안처럼 보입니다 - 실현하는 것이 거의 고통 스럽지만 해결책은 간단합니다 :-) –