2012-03-26 2 views
9

DataGridView에 특정 인덱스의 새 DataGridViewRow를 삽입하고 싶습니다. 난 그냥DataGridView (C#) 중간에 행 삽입

DataGridViewRow dgwr = new DataGridViewRow(); 
datagridview1.Rows.Insert(index, dgwr); 

같은 새 행을 만들 경우 내가 사용하는 경우이 발생하지 않습니다 0이 될 것입니다 예를 들어 내 "셀"처럼 DataGridView에의 "설정"을받지 않습니다.

DataGridView1.Add(); 

하지만 다시는, 그때

는 이러한 장점을 결합 어쨌든 거기에 ... 어디 내 게시물을하고 싶은 목록에서 선택한 캔트?

/닉

답변

5
grid.Rows.Insert(index, 1); 
var addedRow = grid.Rows[index]; 

이 '인덱스'에서 1 빈 템플릿 행을 삽입 한 다음 단순히 '인덱스'에 행을 액세스합니다. 두 번째 줄은 지금 추가 된 행에 액세스하기위한 것입니다.

grid.Rows.Insert(index, FirstName, LastName, BirthDate, Etc); 

그냥 열이 그리드 순서가 동기화되어 있는지 확인해야하고, 이들 필드를 자동으로 행합니다 : 당신이 당신의 바란 행 값을 알고있는 경우

도 단축 할 수 있습니다.

+0

http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.rows.aspx –

+0

감사합니다! 그러나 여전히 어떤 값이 있는지 모르므로 행 [i] .Cells가 다른 행 (DataGridView1.ColumnCount와 동일한 "Count")과 같아지기를 바랍니다. 임과 함께 셀을 작업 할 때 어떻게해야합니까? :) – Nick3

+0

@ Nick3 당신은 그리드의 다른 행으로 사용합니다. 세포 작업 하는게 무슨 소리 야? – SimpleVar

1

DataGridViewDataGridRowView은 데이터 소스의 시각적 표현이고 데이터 소스의 한 행입니다. 새 행이 데이터 소스에 추가 된 후에 DataView에 새로운 시각적 행이 표시되어야합니다.

새 행 추가시보기 행을 얻으려면 RowsAdded 이벤트를 처리하십시오.

+0

데이터 저장소가 없습니다. 행에 수동으로 텍스트를 추가하기 만하면됩니다. 하지만 고마워! – Nick3