2012-07-25 4 views
0

데이터베이스에서 데이터를 가져와 사용자에게 보여주는 DataGrid 뷰가 있습니다. 사용자가 데이터 행 뷰에서 이미 존재하는 행을 선택하면 사용자가 DataGrid 뷰에 값을 입력 할 수있는 세 개의 텍스트 상자가 있습니다. datgrid를 입력 한 다음 변경 내용을 입력란에 값을 입력하고 변경 버튼을 누르면 db 및 datagridview 모두에서 성공적으로 변경됩니다. 그러나 DataGrid 뷰에서 빈 행을 선택하고 값을 입력하려고하면 새 행을 사용할 수 없습니다 사용자가 새 행을 추가 할 수 있음에도 불구하고 DataGrid 뷰에 추가되지 않습니다.프로그래밍 방식으로 DataGrid 뷰에 새 행 추가

private void txtName_TextChanged(object sender, EventArgs e) 
{ 
    if (dataGridView1.SelectedRows.Count == 1) 
    { 
     dataGridView1.SelectedRows[0].Cells["Name"].Value = txtName.Text; 
    } 
} 

private void txtRelation_TextChanged(object sender, EventArgs e) 
{ 
    if (dataGridView1.SelectedRows.Count == 1) 
    { 
     dataGridView1.SelectedRows[0].Cells["Relation"].Value = txtRelation.Text; 
    } 
} 
private void txtID_TextChanged(object sender, EventArgs e) 
{ 
    if (dataGridView1.SelectedRows.Count == 1) 
    { 
     dataGridView1.SelectedRows[0].Cells["ID"].Value = txtID.Text; 
    } 

} 
+0

DataGridView는 어떻게 바인딩됩니까? –

+0

@DavidB 미안하지만이 코드는 완전히 새로운 것입니다. 기존 코드를 수정하려고합니다. 무슨 뜻입니까? 내 DataGridView는 기존 데이터베이스에서 데이터를 가져옵니다 – user1550164

+0

@DavidB 데이터 테이블에 바인딩됩니다 – user1550164

답변

0

확인 당신의 gridview가 읽기 전용 경우. Readonly이 참이면 false로 설정하여 사용자가 새 행을 추가 할 수있게합니다. 또 다른 이유는 DataGridView의 "EditMode"속성 일 수 있습니다. 당신은 사용자가 새 행을 추가 할 수 있도록하려는 경우 그것은 "편집, 프로그램"안

+0

읽기 전용은 false입니다. 편집 모드는 키 획 또는 f2에서 편집하고 사용자가 새 행을 추가 할 수 있도록 허용합니다. – user1550164

0

당신은 더블 클릭 행에 실제로 새 행을 만들어야합니다. 그러나 더블 클릭의 스트레스를 원하지 않는다면 행 선택 이벤트를 으로 설정하여 행에서 클릭을 수행 할 수 있습니다.

관련 문제