2011-08-12 3 views
0

Windows Forms C# 응용 프로그램에 datagridview가 있습니다. 데이터 소스는 TableAdapter가있는 DataSet입니다. 결과를 가져 오는 SQL 메소드에는 몇 개의 INNER JOIN이 있습니다. 데이터가 gridview에 표시되지만 업데이트 할 필드가 있습니다. 그러나, 그것은 gridview에서 읽기 전용입니다. 해당 셀에 대한 읽기 전용 값은 false로 설정됩니다. 나는 어딘가에 내 데이터 소스가 업데이트 할 수 없다는 것을 읽었으며 그리드 뷰 컨트롤이 업데이트하도록 내버려 두지 않는 이유입니다. 하지만 그것을 업데이트해야합니다. 이것에 대한 해결책이 있습니까?C#에서 DataGridView 셀을 편집 할 수 없습니다.

+0

계산 된 필드입니까? – evasilchenko

+0

GridView에서 편집 기능을 사용할 수 있습니까? 코드를 게시 할 수 있습니까? –

+0

@DeviantSeev 아니, 계산 된 필드가 아닙니다. 그것은 바로 데이터베이스에서 나온 분야입니다. – Andrej

답변

0

이것은 조인과 함께 TableAdapter를 사용하기 때문일 수 있습니다. 조인을 사용할 때 TableAdapter 마법사가 Insert, Update 및 Delete 명령을 자동으로 생성 할 수 없습니다.

데이터 집합 디자이너의 TableAdapter 속성을 보면이 경우인지 확인할 수 있습니다. 명령에 (없음)이 표시됩니다. http://www.asp.net/data-access/tutorials/updating-the-tableadapter-to-use-joins-vb

가 개인적으로, 나는 완전히 TableAdapter에와 자동 생성 된 코드를 멀리하고, 사용자 정의 DATAACCESS 층을 사용하는 것을 선호 : 여기

는 TableAdapter에 이러한 명령을 추가하는 방법에 대한 튜토리얼입니다.

+0

나는 그것이 유용한 도움이된다고 대답 할 때 대답을 남겨 두겠다.하지만 나는 조인과 함께 tableadapter를 사용하고 datagridview 편집이 잘 작동하고있다. –