在datagrid行上填充文本框单击

时间:2014-03-04 14:42:08

标签: c# vb.net

我希望在用户点击某行时填充文本框。我不想使用grdUser..SelectedRow.Cells[1].Text,因为我的数据网格包含用户详细信息的摘要,例如name, SSNumber, email.如果我点击该行,那么我希望所有用户详细信息都应加载到文本框中。我该怎么做?

我想使用sql查询但是我的where子句应该使用SSNumber但不确定这是最佳做法。

C#或vb帮助欢迎。

2 个答案:

答案 0 :(得分:1)

您可以向创建的行添加属性,当用户单击该行时,将其重定向到包含您要显示的对象的Id的页面。我知道你正在使用数据网格,我的例子是使用GridView

例如在Row created

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" ) + "'";
        }
    }

答案 1 :(得分:0)

首先,获取所选行的索引,然后获取特定单元格的值

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

'1'是您想要获取文本框值的特定列的索引