2012-09-10 2 views
0

임시 데이터의 시각적 컬렉션이 있습니다. 이 Visualcollection에서 모든 레코드를 삭제하는 올바른 방법은 무엇입니까?Lightswitch에서 시각적 컬렉션을 지우십시오.

EDIT 버튼 클릭

을 (내가 할 노력하고있어 더 나은 사진을 위해 얀의 요청 후) 나는 사용자 정의 매개 변수를 기반으로 데이터와 VisualCollection을 채우기하고있다. 사용자는 필요에 따라이 데이터를 편집 할 수 있습니다. 그런 다음 저장을 클릭하면이 데이터를 다른 데이터베이스 테이블에 씁니다. (코드를 통해이 작업을 수행하는 이유는 visualcollection의 모양이 SQL 데이터베이스의 단일 테이블에 직접 매핑되지 않기 때문입니다. Lightswitch에서는 쉽게 수행 할 수없는 시나리오이지만 눈치 챘습니다.) 그러나 사용자가 컬렉션이 채워진 후 컬렉션을 채우기위한 매개 변수를 변경하면 해당 컬렉션을 지우고 새 매개 변수를 기반으로 다시 채워야합니다. 여기서 나는 [visualcollection] .clear 메서드를 호출하기를 바랐다. 그러나 비운. 내가 성공하지 않고 다음 방법 중 각 시도했다 : item.details.delete 전화,

1) VisualCollection을 각 항목에 대해 (이 없습니다 현재 컨텍스트에 의해 추적되고있는 항목)

에 대한 오류 뭔가를 반환

2) 첫 번째 항목을 선택한 항목으로 설정 한 다음 visualcollection.removeselected를 호출합니다. 첫 번째 항목! = null 인 동안 반복합니다. (이 항목은 컬렉션에서 모든 항목을 제거하지 못했습니다. 일부 항목은 제거되지만 모든 항목은 제거되지 않습니다. 이유는 알 수 없습니다).

이제는 this.Refresh (정적 변수에 사용자 변수를 저장 한 후 화면의 dataworkspace 초기화 이벤트에서 다시 채울 수 있음)를 호출했습니다. 이 단계는 너무 과격한 것 같지만 ... 시각적 컬렉션을 지우는 화면을 새로 고침하는 것까지해야합니까?

답변

0

"최선의"방법은 몇 가지 다른 것들에 의존 할 수 있습니다, 첨부 된 데이터베이스 또는 내장 데이터베이스입니까? 클라이언트에서 서버의 코드를 실행하는 것에 익숙하십니까? 얼마나 많은 레코드가 포함되어 있습니까? 이것이 단지 자연적인 부분 일 수있는 기존 프로세스가 있습니까? 아니면 화면의 버튼을 클릭하여 작업을 수행 할 계획입니까?

알다시피, 원하는 것을 더 알지 못해도 간단한 대답이 아닙니다.

+0

나는 Yann을 이해합니다. 이 정보를 포함하도록 내 질문을 편집했습니다. –

+0

감사합니다. Shawn, 그 정보는 sceanrio를 조금 더 잘 이해하는 데 도움이됩니다. 사용중인 프로그래밍 방식 컬렉션이 화면 컬렉션의 DataWorkspace와 동일한 DataWorkspace에 의해 생성되지 않은 것 같습니다. 그게 전혀 도움이 되나요? –

+0

감사합니다 Yann은 Visualcollection의 프로그래밍 방식 채우기가 화면의 데이터 작업 공간과 동일한 데이터 작업 공간에서 이루어 지도록하는 방법이 있습니까? –

관련 문제