2012-07-09 4 views
0

표 레코드의 순서/위치를 변경할 수있는 기능을 제공합니다. 이를 위해 드래그 앤 드롭을 사용하고 있습니다. 그러나 드래그 앤 드롭 후에 레코드가 더러워 보이지 않습니다.표식 표식 표식을 지우지 않음

따라서 그리드 레코드를 강제로 표시하고 더럽지 않은 것으로 표시하는 데 사용할 수있는 함수가 있습니까? 즉, 모서리에 빨간색 표시를 표시하거나 숨길 수 있습니다.

레코드에서 setDirty() 함수를 발견했습니다. 그러나 이것은 목적을 달성하지 못합니다.

+0

귀하의 모델에'index' 속성이 포함되어 있습니까? 나는 물건을 재정렬 할 때 변경되는 속성이라고 생각하고 모델에 정의 된 경우 드래그 드롭시 모델 레코드가 더러워 져야합니다 (어쨌든 나무에서 작동 함). – Izhaki

+0

'drop' 이벤트의'DragDrop' 플러그인에 리스너를 설정해야합니다. 그러면 모든 주문 관련 변경 사항을 처리 할 수 ​​있습니다 (서버에 새 위치를 보내는 등). –

+0

@Izhaki : 상점에 색인이 있지만 모델에서 색인을 들어 본 적이 없습니다. 당신이 언급하고있는 것에 좀 더 자세히 설명해 주시겠습니까? – netemp

답변

1

이전에 드래그 앤 드롭 그리드를 수행했습니다. 데이터베이스에 시퀀스 열이 있었기 때문에 단순히 모델 정의에 포함 시켰습니다.

그런 다음 있는 gridview의 drop 이벤트 처리기에서, 나는 드롭이 수행 될 때마다 모든 영향 기록에 record.set('sequence', newSequence)을했다. (나는 "모든 영향을받는 레코드"라고 말합니다. 왜냐하면 한 레코드의 순서를 변경할 때마다 그 레코드의 순서에 영향을 미치지 않을 것이기 때문입니다. 예를 들어, 그리드의 맨 아래에서 맨 위로 레코드를 이동하면 모두 삭제 된 레코드 다음의 레코드 시퀀스 번호는 1 씩 증가합니다.이 레코드는 모두 더럽고 데이터베이스에서 업데이트해야합니다.

record.set을 사용하면 레코드의 시퀀스 열이 플래그로 더티라는 것을 알 수 있습니다.

당신은 서버 사이드를 ok로 업데이트 했으므로 서버 측에서이 resequencing 로직을 수행 중이라고 가정하면 JS로 다시 이동해야합니다. 원하는 경우 그렇게.

+0

고마워요. 제로니모. 이것은 정확히 우리가 해왔 던 것입니다. 그러나 이것을 생각한 다른 방법이있을 수 있습니다. 우리는 옛 주문과 새로운 주문의 동일한 논리를 계속 사용해야합니다. 시간 내 주셔서 감사합니다. – netemp

관련 문제