2014-03-04 2 views
0

사용자가 행을 클릭 할 때 텍스트 상자를 채 웁니다. 내 데이터 격자에 사용자 세부 정보 요약이 포함되어 있기 때문에 grdUser..SelectedRow.Cells[1].Text을 사용하고 싶지 않습니다. name, SSNumber, email. 행을 클릭하면 모든 사용자 정보가 텍스트 상자에로드되어야합니다. 내가 어떻게 그럴 수 있니?DataGrid 행의 텍스트 상자를 클릭하십시오.

SQL 쿼리를 사용하고 싶습니다. 그러나 where 절은 SSNumber을 사용해야하지만 모범 사례는 확실하지 않습니다.

C# 또는 vb 도움을 환영합니다.

+0

selectedItem 그 이벤트를 처리의 가치를, 그리고 모든 정보를 읽은 다음 텍스트 상자에 할당 할 특정 컬럼의 인덱스입니다. 필요한 모든 정보가 이미 DataGrid에로드되어 있다고 가정 할 때 SQL 쿼리가 필요한 이유는 무엇입니까? –

+0

에'SELECT all columns from table'과'WHERE' 절에서 그것들을 고유 ID로 필터링하면 그 정보가 텍스트 박스에 있어야합니다. 이걸 타이핑하는 긴 바보 같은 소리가 난다. – Monica

+0

내 제안은 SelectedItem 이벤트를 처리하고, 선택한 ID가 주어지면 짝수 때에도 쿼리를 실행합니다. –

답변

1

만든 행에 특성을 추가 할 수 있으며 사용자가 해당 행을 클릭하면 표시 할 개체의 ID가있는 페이지로 리디렉션됩니다. 나는 행 생성에 당신은 예를 들어,의 GridView

를 사용하여 내 예는 데이터 그리드를 사용하고 알고

protected void ListGrid_RowCreated(object sender, GridViewRowEventArgs e) 
    { 
     if (e.Row.RowType == DataControlRowType .DataRow) 
     { 
      e.Row.Attributes[ "onmouseover"] = "this.style.cursor='pointer';this.style.textDecoration='underline';" ; 
      e.Row.Attributes[ "onmouseout"] = "this.style.textDecoration='none';" ; 
      e.Row.ToolTip = "Click to select row"; 
      e.Row.Attributes[ "onclick"] = "Javascript:window.location = '" + ResolveClientUrl("~/PickList/ScanPickListItem.aspx") + "?PLRID=" + DataBinder.Eval(e.Row.DataItem, "ScreenRowId") + "'"; 
     } 
    } 
0

먼저, 다음, 특정 셀의 값을 얻을 선택한 행의 인덱스를 얻을

Dim dgv_active_Row as Integer= dgv.CurrentRow.Index 
TextBox1.Text = dgv.Item(1, dgv_active_Row).Value 

'1'은 텍스트 상자

관련 문제