dataGridView 의 각 Row를 선택할 때 칼럼의 값을 Textbox 에 보여주도록 하려면 어떻게 해야 할까?
나같은 초보자는 아래 코드를 어떻게 만드는지를 모른다.
dataGridView1 의 속성 Event 창에서 더블클릭하면 자동으로 코드를 채울 수 있게 만들어진다.
필요한 코드만 직접 작성하면 된다.
//셀 내용 읽기 1행, 0열 --> 행은 Rows, 열은 Column 이 아니라 Cells 로 표기하네
dataGridView1.Rows[1].Cells[0].Value.ToString();
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
textBox1.Text = dataGridView1.Rows[e.RowIndex].Cells[3].Value.ToString();
textBox2.Text = dataGridView1.Rows[e.RowIndex].Cells[4].Value.ToString();
textBox3.Text = dataGridView1.Rows[e.RowIndex].Cells[5].Value.ToString();
textBox4.Text = dataGridView1.Rows[e.RowIndex].Cells[6].Value.ToString();
if (e.ColumnIndex == 2) // 3번째 칼럼이 선택되면....
{
MessageBox.Show((e.RowIndex + 1) + " Row " + (e.ColumnIndex + 1) + " Column button clicked ");
}
}
만약, 외국 사이트, 블로그 등에 나온 자료를 보고 사용자 소스코드에 붙여넣기를 한 경우에는
디자이너 소스 파일에는 기록이 안되어 있다. 그러므로 Event 연결을 해줘야 한다.
위의 코드를 보면 CellClick 이라고 보일 것이다.
바로 이 부분을 연결하기 위해서 Shift + F7 키를 눌러서 WindowsForm 화면으로 이동한 다음에
dataGridView1 을 마우스로 선택하고 나서 속성창에서 Event 를 클릭한 다음에 CellClick 이벤트를 찾는다.
이렇게 해주면 연결되어 동작이 된다.
글 쓰려고 테스트한다고 2번을 빈칸으로 지웠더니 CellClick 이벤트 소스 코드가 삭제되어 버렸다.
혹시 이런 증상이 생길지 모르니 소스코드는 EditPlus 같은 텍스트편집기에 복사를 해주는게 좋다.
'C# > dataGridView' 카테고리의 다른 글
C# dataGridView 현재 Row의 셀값 읽어내기 (KeyUp), CurrentCell (0) | 2015.09.21 |
---|---|
C# dataGridView ContentClick 이벤트, MouseDown 이벤트 (0) | 2015.09.19 |
C# dataGridView 자동 번호 매기기( 원하는 칼럼에 ) (0) | 2015.09.04 |
C# dataGridView 기능 분석 (0) | 2015.09.03 |
C# dataGridView 홀수/짝수열 배경색 다르게 지정 (0) | 2015.08.28 |