2011-08-17 6 views
0

이벤트 UserAddedRow를 사용하여 새 행을 추가 할 수 있습니까? 그럴 때 예가 있습니까?Winform DataGridView UserAddedRow 새 행 추가

미리 감사드립니다.

+0

일부 코드를 표시하십시오 ... 시도해 보셨습니까? 무엇이 작동합니까/작동하지 않습니까? 예외/오류가있는 경우에도 표시하십시오 ... – Yahia

답변

2

UserAddedRow 이벤트가 추가 된 후에 발생합니다. after somethign이 (가) 이미 추가되었으므로 무언가를 추가 할 때 사용할 수 없습니다. MSDN에 따르면

: 사용자가 제어 된 DataGridView 에 행을 추가가 완료되면

발생.

+0

감사합니다. 어떻게 새 행을 추가 할 수 있습니까? – user609511

+0

나는 msdn 예제 에서처럼 DataTable을 통해 데이터 바인딩을 사용한다고 말할 수 있습니다. 그것을 여기에서 조사해라 : http://msdn.microsoft.com/en-us/library/system.windows.forms.datagrid.aspx. 코드 예제뿐만 아니라 전체 기사를 읽으십시오. – Tigran

+0

당신의기도에 감사드립니다.하지만 어떻게 행의 새로운 가치를 되 찾을 수 있습니까? 이벤트에서 – user609511

1

데이터 바인딩을 사용하지 않는 경우 수동으로 열과 행을 추가해야합니다.

dgvApplications.Columns.Add("Col1", "Column 1"); 
dgvApplications.Columns.Add("Col2", "Column 2"); 
dgvApplications.Rows.Add("Col1Value", "Col2Value"); 

그러나 데이터 바인딩이 일반적으로 더 좋습니다. 속성은 통지가 부하의 모델이 변경 될 때 그리드가 자동으로 업데이트 할 수 있도록 변경

applications.Add(new Application{ File="blah.txt" }; 

:

BindingList<Application> applications = new BindingList<Application>(); 
dgvApplications.DataSource = applications; 
// set AutoGenerateColumns to false and manually add columns to get pretty column names. 
// set AutoGenerateColumns to true to not worry about adding columns in early prototyping 
dgvModules.AutoGenerateColumns = true; 

그런 다음 Application 구현하는 경우 INotifyPropertyChanged 당신은 이런 식으로 뭔가를 할 수 있습니다.

데이터 바인딩 옵션을 사용하면 GUI와 데이터를 분리 할 수 ​​있습니다. "Model-View-Controller"디자인 패턴은 나중에 GUI를 재 설계하거나 웹 또는 전화 응용 프로그램과 같은 보조 인터페이스를 추가해야하는 경우에 도움이됩니다. http://msdn.microsoft.com/en-us/library/ff649643.aspx