2011-08-25 5 views
0

나는이 벽의 벽에 머리를 맞기 때문에 제대로 작동하지 못한다. 그래서 나는 그것이 무언가를 위해 여기에서 물어볼 것이라고 생각했다. 단순한.새 DataRow를 추가해도 DataGridView에 행이 추가되지 않는다

기본적으로 DataGridView가 있고 프로그래밍 방식으로 행을 추가하려고합니다. 여기

내가 사용하고 코드입니다 :

boundBookDataSet.LoadBoundBook.AddLoadBoundBookRow(
    null, null, null, null, null, DateTime.Now, null, null, null, 
    false, false, -1, null, -1, -1); 

나는 또한 데이터 집합뿐만 아니라 행을 추가 한 후 새로운 DataRow를 모두에 대해 AcceptChanges를 호출 시도했습니다, 나는 또한 새로 고침을 호출하려고했습니다 DataGridView에서.

어쨌든, 내가 무엇을 하든지, 결국 boundBookDataSet.LoadBoundBook.Count == 70 및 loadBoundBookBindingSource.Count == 69로 끝납니다. 내 DataGridView는 바인딩 소스에 반영되지 않았으므로 새 행을 선택하지 않습니다 (적어도 내 추측입니다).

슬프게도, 이것은 효과가있었습니다. 그러나 큰 변화를 만들었고, 어떤 변화가 있었는지 알 수 없습니다. 깨진 코드는 전혀 변경되지 않았습니다 ...

누군가이 문제를 해결하는 방법을 알고 있다면, 나는 진심으로 도움을 주실 것입니다.

답변

0

의 윈폼 당신이 스레드에서 사용할 수있는 문제에 대한 답변에 대해 이야기 가정 : http://social.msdn.microsoft.com/Forums/en-US/winformsdatacontrols/thread/f12158b3-4510-47cb-b152-409489c3a51a/

+0

아하! 나는 그것을 알아. :) 다시 BindingSource의 필드를 살펴 보았을 때 필터 필드가 설정되었음을 알게되었습니다. 필터를 제거하면 loadBoundBookBindingSource.Count가 올바르게 증가하고 DataGridView가 새 레코드를 선택합니다. 기본적으로 필터를 지우고 레코드를 추가 한 다음 필터를 다시 설정해야하는 것처럼 보입니다. – Dave

1

아하! 나는 그것을 알아. :)

다시 BindingSource의 필드를 살펴 보았을 때 필터 필드가 설정되었음을 알게되었습니다. 필터를 제거하면 loadBoundBookBindingSource.Count가 올바르게 증가하고 DataGridView가 새 레코드를 선택합니다.

기본적으로 필터를 지우고 레코드를 추가 한 다음 필터를 다시 설정해야하는 것처럼 보입니다.

관련 문제