2012-08-17 4 views
2

내 코드가 작업을 반복하며 목록보기 컨트롤에 피드백을 추가하고 있습니다. 이전에, 내 코드는 OK 일하고있다,하지만 뭔가ListView.Refresh는 목록보기를 '지 웁니다'

리스트 뷰 컨트롤은 다음과 같이 시작합니다 ... 오늘 변경되었습니다 before

을 ...하지만 난 전화를 발행 한 후 (갱신) 또는 새로 고침하기()는, 내가 추가 한 항목을 표시하기보다는,이 같은 렌더링 :이 시점에서

after

은 컨트롤이 여전히 활성화되어 볼 수 있습니다. 사실 내 코드와 관련된 유일한 상호 작용은 새 항목과 Update()를 추가하는 것입니다. 내가 여기에 몇 가지 문제를 도입했던 경우

lvwDrawings.Items.Add(new ListViewItem(new string[] 
{ 
    drawing.PartNo, 
    drawing.Revision.ToString(), 
    drawing.Issue, 
    drawing.DrgTypeText, 
    errorStatus !=null ? errorStatus : drawing.Status, 
    drawing.Filepath 
})); 

, 나는 lvwDrawings.Items.Add("test"); 간단한 테스트,하지만 결과는 동일 :

나는 다음과 같은 사용하고, 항목을 추가합니다. QuickWatch를 수행하면 컨트롤에 정확하게 x 항목이 포함되어 있다고 알려줍니다.

+0

일시적인 글리치와 비슷합니까? 재부팅을 시도하십시오. 전체 빌드를 시도하십시오. 시스템의 창에 영향을 줄 수있는 다른 프로그램을 비활성화하십시오. 프로젝트 속성을 변경 했습니까? 새로운 참조를 추가 하시겠습니까? 새 빈 프로젝트를 만들어 코드를 붙여 넣으면 어떻게됩니까? –

+0

나는 VS를 재시작하려했지만 아무런 변화가 없었다. 지금 재부팅을 시도하겠습니다. 다른 많은 변화가 있었지만이 통제와 관련이 없습니다. 나는 용의자가 될 수있는 변화를 생각하려고 노력해 왔습니다. – CJM

+0

lvwDrawings.RedrawItems를 시도 했습니까? 새 ListViewItem을 만들면 새 항목에 'null'속성이 있습니까? – Kcvin

답변

1

확인을 클릭하면 문제가 발견되었습니다. 이전에 알고 있었던 몇 가지 알려지지 않은 이유로 lvwDrawings.Items.Clear() 다른 실행, 어떻게 든 lvwDrawings.Clear()와 함께 끝났다. 이렇게하면 목록보기의 항목뿐만 아니라 열도 지워집니다.

두 개의 점이 궁금합니다. 열이 없을 때 반대했을 특정 열이있는 ListViewItem을 추가하려고 시도했을 때도 있었을 것입니다. 또한 무엇을하고 있었는지 생각했습니다. 내가 변화를 만들었을 때 (??)!

적당히 흥미 전환은 :

나는 첫 번째 아래 두 번째 목록보기를 만들고, 내가 문제를 나오기 전까지 통해 협력하여 문제를 발견했다. 그 과정의 일부로 디자인에 기둥을 추가했습니다. 그 중 하나는 디자이너가 반대하지 않은 Path입니다.

그러나 정적 클래스 Path (예 : Path.GetDirectoryName())의 메소드에 대한 참조는 'ColumnHeader 경로에'xxx '또는 이와 유사한 메소드가 없습니다. 필자는 Path를 참조 할 때 listview 내의 열을 참조하고 있다고 가정했습니다.

또한 ('FullPath'로) 열 이름을 바꿀 때 코드의 Path에 대한 모든 참조가 바뀌 었습니다 (예 : FullPath.GetDirectoryName() ....

+0

문제를 진단하고 해결하는 것이 좋습니다! 디버깅 기술을 뛰어 넘는 사람들을 만나서 반갑습니다. –

+0

또한, 나는 적어도 한 번 똑같은 일을했습니다.:) –

+0

오, 제 디버깅 스킬은 충분한 연습을합니다. 슬프게도. ;) – CJM

관련 문제