2013-05-29 4 views
1

하나의 프로세스를 나타내는 여러 행이있는 DataGridView가 있습니다. 이러한 프로세스 중 하나가 종료되면 행은 정수 프로세스 ID에서 문자열 --으로 내 PID 열을 변경하여이를 반영하도록 업데이트됩니다. 모든 프로세스가 실행 중이고 해당 열의 모든 셀이 숫자 인 경우 PID 열을 정렬 할 수 있습니다. 해당 프로세스가 종료되고 하나의 셀에도 --이 포함되어 있으면 해당 열을 정렬하려고하면 응용 프로그램이 실패합니다. "Object must be type Int32."라는 메시지가 ArgumentException 인 Program.cs의 Application.Run(new MyForm()); 행을 강조 표시합니다. PID 열은 바인딩되지 않은 DataGridViewTextBoxColumn이며 SortMode는 자동입니다. 충돌이 발생하지 않고 PID 값이 -- 인 모든 행이 함께 그룹화되도록 정렬 할 수 있습니까? 그들이 정렬 된 목록의 처음이나 끝 부분에 있다면 나는 상관하지 않습니다.DataGridView를 정렬 할 때 충돌이 발생합니까?

+0

'Process' 개체의 코드와 컬렉션에 데이터 바인딩 코드를 게시 할 수 있습니까? – mclark1129

+0

그것은 내 Process 객체가 아니며, 'System.Diagnostics.Process'이고 명시된 바와 같이 열은 바인딩되지 않습니다. –

답변

1

본인은 본 적이 없지만 일종의 셀 - 포맷터를 사용할 수 있다고 생각합니다. 나는 단지 quickread을 DataGridView.CellFormatting

하지만 난 : 은 어쩌면이 당신을 도울 수 그래서 당신은 종료 프로세스 -1 같은 값을 저장할 수 있으며이 값은 자동으로 --

처럼 원하는대로로 포맷됩니다 그게 정확히 무슨 뜻인지 생각해.

+0

나는 이제 매우 혼란스럽고 짜증이났다. 나는 그것을'--'에서'-1'로 바꾸 었으며, 여전히 예외가 있습니다. 이번에는 "Object는 String 타입이어야합니다."라는 메시지가 있습니다. FFS ... –

+0

@CoreyOgburn 나를 너무 =) 어쩌면 지금은 다른 열? 모든'PID'가 이제'int' 타입에서 나온다면 작동합니다. – Viper

+0

좋아, 신경 쓰지 마라. 나는 행을 만들 때 그 열에 int를 주었다. 그러나 행을 업데이트했을 때 나는 그 열에 문자열을 주었다. 모든 것이 int이기 때문에 이제 제대로 정렬됩니다. –

0

각 열에 동일한 종류의 데이터를 입력해야합니다. 데이터 테이블의 열이 일부 문자열과 일부 null을 가질 때. so; 데이터가 null 인 경우 ""해야합니다. 희망 설명. 내 영어로 미안해.

관련 문제