2014-03-04 82 views
0

我想在用戶點擊一行時填充文本框。我不想使用grdUser..SelectedRow.Cells[1].Text,因爲我的數據網格包含用戶詳細信息摘要,例如name, SSNumber, email.如果我點擊該行然後我想要所有的用戶細節應加載到文本框。我會怎麼做?在datagrid行上填充文本框點擊

我想使用SQL查詢,但我的where子句應該使用SSNumber但不確定這是最佳實踐。

C#或vb幫助歡迎。

+0

處理SelectedItem事件並讀取其所有信息,然後將其分配給文本框。假設你需要的所有信息已經加載到DataGrid中,爲什麼你需要一個sql查詢? –

+0

也許'選擇所有列從表'和'WHERE'子句通過唯一ID篩選它們,然後那個人的信息應該在文本框中。聽起來像一個很長的愚蠢的方式打字。 – Monica

+0

我的建議是一樣的,處理SelectedItem事件,在給定所選ID的情況下甚至在觸發時執行查詢。 –

回答

1

您可以將Attributes添加到所創建的行,並且當用戶單擊該行時將其重定向到具有要顯示的對象的Id的頁面。我知道你正在使用一個DataGrid我的例子是使用一個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'是您要獲得文本框的值的特定列的索引。