LINQ에서 SQL에 대한 DataGridView는 DB 컨텍스트에 다른 곳에 추가 된 새 행이 표시되지 않습니다.
-
03-07-2019 - |
문제
나는있다 DataGridView
LINQ에서 SQL 쿼리 표현식에 결합합니다. 업데이트를 위해 편집 할 수 있기를 원하지만 인서트의 경우 사용자가 그리드 아래에 별도의 컨트롤 (텍스트 상자, 날짜 선택기 등 - 현재 아무것도 묶이지 않음)을 사용하기를 원합니다. 컨트롤의 값을 기반으로 LINQ에서 SQL Entity 클래스의 객체를 생성하는 "ADD"버튼이 있습니다. InsertOnSubmit()
. 나중에 전화 할 때 SubmitChanges()
, 그리드의 모든 업데이트 및 추가 된 객체는 모두 데이터베이스에 올바르게 지속됩니다.
내 문제는 호출 전후에 새로운 객체가 그리드에 추가되지 않는다는 것입니다. SubmitChanges()
. 새 객체가 생성되는 즉시 그리드에 추가되기를 원합니다. 또한 기존 레코드를 편집하지 않고 새 레코드를 삽입하는 데 그리드 아래의 컨트롤 만 사용하기를 원하므로 데이터 소스에 묶여 있어야한다고 생각하지 않습니다.이를 수행하는 가장 좋은 방법은 무엇입니까?
나는 단순히 다시 설정하려고했다 DataSource
그리드를 위해 (즉 dataGridView.DataSource = db.<TableName>
, 그것은 작동하지만, 그리드 상단으로 다시 스크롤되기 때문에 서투른 것입니다. 더 나은 방법이 존재한다고 확신합니다.
(PLS는 N00B 질문을 실례합니다. 저는이 모든 .NET에 매우 새로 생겼습니다 : P)
해결책
가장 먼저 시도하는 것은입니다 getNewBindingList (), 그러나이 스레드 : "LINQ-SQL CANONICAL EDIBLE DATAGRIDVIEW 샘플 코드"다른 시나리오에 대한 생각이 있습니다.