외주 때문에 Visual C#에서 DataGridView에 데이터 소스로 DB를 바로 연결했는데,

이상하게도 소스의 레코드 개수와 상관없이 1개만 나타나거나 제대로 보이질 않는다.

(에러가 있으면 차라리 바로 잡기야 하겠는데 그것도 아니니 당시엔 답이 안나온다)

처음엔 꼼수를 써서 다른 방법으로 뷰에 보이는 내용을 다시금 불러오게 했지만 몹시 비효율적이다.

다른 부분에서도 똑같은 현상이 발생하길래  코드를 부분부분 돌려보니,

CellEnter이벤트가 발생하면서 바로 그와 관련된 DB를 바로 읽어와서 다른 뷰에 뿌려주도록 했는데

동시에 뿌려주는 경우 DB는 제대로 읽어오지만,

CellEnter이벤트는 내용이 갱신된 직후 바로 발생하므로 데이터를 뿌리는 동시에 다른 DB도 읽어오게 되어

뷰에 뿌리는 과정 중간에 지나가버리게 된다.

그럼에도 불구하고 뷰의 Rows의 요소 수를 보면 정상적으로 되어있으니, 그냥 보기엔

대체 왜 그런지 알 수가 없다.


어쨌거나 DB를 사용하는 방법이 잘못되었는지, 그 부분을 바로잡진 못하고 돌아가는 방향을 택했다.

CellEnter 이벤트 대신에 CellClick이벤트를 통해 사용자가 직접 클릭한 경우에만

서브 뷰를 보여주도록 했다. 바꿔놓고 보니 너무 불편하다.. 대안책을 찾아야겠다. 

'마음이 뛰다' 카테고리의 다른 글

모난 돌  (0) 2012.01.26
못난 놈  (0) 2012.01.25
김해 희망서포터즈 2기 모집~!  (0) 2011.11.25
청춘콘서트 2.0 희망서포터즈 2기를 모집합니다!  (0) 2011.10.12
인생은 재밌다.  (0) 2011.09.10

+ Recent posts