2012-10-04 2 views
5

나는 코딩 할 때 매우 새로운 사람이다. 이제 나는 현재 상황과 내가 가고 싶은 곳에 대해 이야기 할 것입니다. 희망이 당신을 도울 것입니다.winforms에서 EF를 사용하여 양방향 데이터 바인딩을 만드는 방법은 무엇입니까?

저는 EF5.0 데이터베이스의 첫 번째 방법을 사용하고 있으며 데이터베이스 값을 나열하고 업데이트하기 위해 gridviews를 사용할 수 있기를 원합니다.

은 현재 내가 이렇게 내 데이터 바인딩 오전 :

pehlivan_kabametrajEntities ctx = new pehlivan_kabametrajEntities(); 
     var result = from k in ctx.Kolons 
        select k; 
     dataGridView1.DataSource = result.ToList(); 

이 코드는 완벽하게 내 데이터를 나열합니다. 그러나 그것은 나의 필요를 위해 잘못되었거나 충분하지 않습니다. Gridview에서 내 데이터를 바로 편집 할 수 있기를 원합니다. 무엇이 잘못되었으며 무엇을해야하는지 알려주세요. 적어도 내가 원하는 목적지 지점에 도달 할 수있는 일부 문서의 링크는 훌륭합니다. Thx.

+0

당신이 문제가 무엇으로? 1) 페이지의 데이터를 편집 할 수있는 gridview 채우기 후? 또는 2) 페이지에서 편집 된 데이터를 가져 와서 다시 데이터베이스로 가져 오겠습니까? –

+0

둘 다 실제로 (: – Hasan

답변

3

쿼리 결과에 바인딩하는 경우 단방향 데이터 바인딩 만 사용하고 있습니다. 양방향 데이터 바인딩을 얻으려면 IBindingList이 필요합니다. 이 시도 :

ctx.Kolons.Load(); 
dataGridView1.DataSource = ctx.Kolons.Local.ToBindingList(); 

작동하지 않는 경우 BindingSource를 사용하려고 :

ctx.Kolons.Load(); 
gridBindingSource.DataSource = ctx.Kolons.Local.ToBindingList(); 
dataGridView1.DataSource = gridSource; 
+0

그것은 .Load() 또는 .ToBindingList()에 대한 정의가 없다고 말합니다. VS2012를 사용하고 있는데이 방법을 바꿀 수 있습니까? – Hasan

+0

DbContext API를 의미하는 EF5를 사용하고 있다고 생각합니다. .NET 4.5 및 이전 ObjectContext API를 사용하고 있습니다. –

+0

사실 내가 무엇을했는지 모르겠습니다. 데이터베이스 접근 방식을 사용하여 프로젝트에 ADO.NET 엔터티 데이터 모델을 추가하고 코드를 작성했습니다. – Hasan

관련 문제