2009-02-27 6 views
3

데이터베이스의 세 열에 연결된 DataGridview가 있으며 편집 할 필요가 없습니다. 디버그에서 프로그램을 실행하고 종료 할 때 Visual Studio에서 양식으로 돌아 가면 내 세 열과 연결된 테이블의 모든 열이 있습니다. 제가 이것들을 제거하지 않으면 다음에 프로그램을 실행할 때 양식에 나타납니다. 제거하면 프로그램을 실행할 때마다해야합니다.Visual Studio에서 프로그램을 실행 한 후 DataGridView에 열을 추가합니다.

해결 방법에 대한 의견이 있으십니까?

+0

어떻게 데이터베이스에 연결 되나요? 강력한 형식의 데이터 집합과 BindingSource 또는 다른 방법을 사용하고 있습니까? –

+0

강력하게 형식화 된 데이터 집합으로 바인딩되고 바인딩 소스 – Malfist

답변

4

this에 따르면 Visual Studio에서 바인딩 소스를 변경하기 전에 바인딩 소스를 none/null로 설정해야하는 버그가 있습니다 (2005 년 이후로 있었던 것 같습니다). 모든 열을 제거하고 바인딩 소스를 none으로 설정 한 다음 바인딩 소스를 원했던대로 다시 설정하고 열을 편집했습니다. 지금 일하고있다. 파고의 많은 후

+0

위대한 작품! 이 정보를 공유해 주셔서 감사합니다! :-) – Cerebrus

+0

답변을 찾은 것 같고 링크를 공유해 주셔서 감사합니다. –

+0

링크가 더 이상 작동하지 않습니다. – Vyktor

4

AutoGenerateColumnsTrue으로 설정되어 있습니까?

데이터 소스에서 DGV가 수동으로 생성 한 열 이외에 열을 생성하지 못하도록하려면이 값을 False으로 설정해야합니다.

편집 : 디자인 모드 자체에서 속성이 False로 설정되지 않은 경우 분명히 이상한 동작이 발생할 수 있습니다. 런타임에 False으로 설정하는 경우를 생각하고 있습니다. 또한 디자이너 파일을 살펴볼 것입니다 (이 파일을 보려면 "모든 파일 표시"옵션을 클릭해야 할 수도 있음). 그리고 DGV와 관련된 내용을 확인하십시오. 거기에 문제가있을 수 있습니다.

또는 컨트롤 자체를 삭제하고 동일한 바인딩을 사용하여 새 DGV를 만들려고 했습니까?

+0

AutoGeneratedColumns가 false로 설정됩니다. – Malfist

+0

디자이너 파일은 AutoGeneratedColumns를 false로 설정하고 수동으로 추가 한 열만 표시합니다. 프로그램을 실행 한 후에 추가되는 프로그램이 아닙니다. – Malfist

2

주변, this solution 마침내 나를 위해 그것을 해결 :

컴파일러 (열 설정을 포함 양식의 레이아웃 정보를 포함)가 된 .resx 파일을 손상되는 것 같습니다

, 다음에 디자이너를로드 할 때 데이터 소스의 모든 열 을 다시 작성한다는 의미입니다.

는 "이 모든 파일을 표시"수행 한 후 양식 관련하여 .resx 파일을 볼 수 있고 당신에게 탈선 동작을 제공하는 열을 변경 :

수정 프로그램은 다음과 같이 나타납니다. .. ".UserAddedColumn" 항목 다음에 오는 열 이름을 찾아서 False로 설정하십시오. 필자의 경우 실제로는 "[columnName] .UserAddedColumn"이라고하는 항목을 완전히 삭제하기까지했습니다.

+0

완벽하게 작동합니다. – mshsayem

관련 문제