2011-12-16 2 views
-1

나는 두 개의 DB 테이블 Table1Table2데이터 변경을 클릭

가 나는 gridview를 사용 Table1의 데이터를 표시하고 있습니다. 사용자가 gridview1의 행을 클릭하면 사용자가 gridview1의 행을 클릭 할 때 gridview2의 데이터를 변경하려고 할 때 table2의 데이터를 다른 gridview에 표시하려고합니다. 두 표 모두 PersonID을 사용하여 관련됩니다.

ASP.NET이 아닌 windowsforms를 사용하고 있습니다.

답변

0

또한

private void dataGridView1_SelectionChanged(object sender, EventArgs e) 
    { 
     int PersonID=Convert.ToInt32(dataGridView1.CurrentRow.Cells["PersonID"].ToString()); 
     //Pass PersonID to Parameter and Get detail list 

    } 
+0

나는 열을 "열 이름을 찾을 수 없습니다"오류가 발생하면 코드를 시도하고 있습니다. –

+2

셀 [ "PersonID"]을 셀로 바꾸십시오 [<< 귀하의 컬럼 이름 (컬럼 인덱스) >>] 컬럼 인덱스는 0,1,2와 같은 귀하의 Personid 컬럼 인덱스입니다. 오류가 발생하면 코드를 추가하면 도움이됩니다. –

0

RowEvent 이벤트 (또는 이와 비슷한 이벤트)를 처리 할 수 ​​있습니다. 그렇게하면 PersonID 값을 얻을 수 있으며 (DataGridView1로 바인딩 된 경우) 해당 값을 사용하여 다른 테이블의 결과를 가져올 수 있습니다.

private void dataGridView1_RowEnter(object sender, DataGridViewCellEventArgs e) 
{ 
//Assume that the first column represents PersonID 
var firstCellValue = dataGridView1.Rows[e.RowIndex].Cells[0].Value; 
if (firstCellValue != null) 
    { 
     string sql="select * from Table2 where [email protected]"; 
     .... 
     cmd.Parameters.Add("@PersonID",SqlDbType.VarChar,20).Value=firstCellValue; 
     .... 
    } 
} 
+0

이 라인은 무엇을 하는가, 첫 번째에서 Datagrid의 "dataGridView1_SelectionChanged"이벤트 등으로 상세 기록을 호출 할 수 있습니다? 'cmd.Parameters.Add ("@ PersonID", SqlDbType.VarChar, 20) .Value = firstCellValue; ' –

+0

@SunnyBhattacharjee - 매개 변수화 된 쿼리이며이 문은 매개 변수 값을 만들고 할당합니다. – adatapost

관련 문제