2010-11-23 3 views
0

C#으로 작성된 앱이 있습니다. DB에서 가져온 레코드는 자동 생성 Visual Studio 코드 (DataTableAdapter)를 통해 표시됩니다. 제가 DB를 변경 이제C# Winforms DataTableAdapter 데이터 바인딩 질문

this._______tTableAdapter.Fill(this._______SQLDataSet._______); 

, 아닌 DataTableAdaper을 통해 -하지만 다른의 WinForm에 코드를 통해 그것을 닫고 I 때까지 나는 내 DataTable을 어댑터 충전 한 경우 다른 변경 사항이 표시되지 않습니다를 엽니 다 내 응용 프로그램을 다시 시작하십시오. 나는 그것을 얻지 않는다, 나는 this.Close() 및 this.Dispose()를 사용하여 창을 닫으려고 시도한다. 모든 리소스를 해제하기 때문에 다음 번에 열 때 코드는 데이터베이스의 새 데이터를 리 바인드해야한다. 하지만 그건 사실이 아니야 ... 내가 뭘 잘못하고 있니? 모든 anwser에 대단히 고마워요 ...

+0

그래서 기본적으로 문제는 데이터를 표시하는 'DataGridView'가 새로 고침되지 않는다는 것입니다. – dandan78

+0

옙 .. 잠시 동안 googleing, 내가 찾을 수있는 가장 가까운 anwser는 "Copy If Output Directory"데이터베이스의 "Copy If Newer"속성을 변경하는 것이 었습니다. 그러나 문제가 해결되지 않았습니다. – Andrej

답변

0

양식을로드 할 때 명시 적으로 DataGridView.Rows.Clear()을 호출 해 보셨습니까?

그래도 작동하지 않으면 디버그 모드에서 양식을로드하고 모든 단계에서 데이터 상태를 확인하십시오.

0

내 제안/의견이 귀하의 조건을 충족시키지 못했지만이 문제를 언급 할 때 DataSet의 데이터를 수정할 수 있음을 유의하십시오 (모든 변경 사항은 서버 마녀에게 전달되지 않음). 모든 변경이 이루어진 경우 변경된 모든 행에 대한 데이터 업데이트를 제공하는 데이터 어댑터에서 Update 메서드를 호출 할 수 있습니다. 어쨌든 - 다른 인스턴스에서 변경된 내용 만 새로 고치려면 DataGridView을 다시 표시하거나 DataSource으로 다시 설정하십시오.

관련 문제