C# 填充datagrid行上的文本框单击

C# 填充datagrid行上的文本框单击,c#,vb.net,C#,Vb.net,我想在用户单击一行时填充文本框。我不想使用grdUser..SelectedRow.Cells[1].Text,因为我的datagrid包含用户详细信息的摘要,例如姓名、SSNumber、电子邮件。如果我单击该行,那么我希望所有用户详细信息都应加载到文本框中。我该怎么做 我想使用sql查询,但我的where子句应该使用SSNumber,但不确定这是最佳做法 欢迎使用C或vb帮助。您可以向创建的行添加属性,当用户单击该行时,将属性重定向到具有要显示对象Id的页面。我知道您使用的是datagrid,

我想在用户单击一行时填充文本框。我不想使用grdUser..SelectedRow.Cells[1].Text,因为我的datagrid包含用户详细信息的摘要,例如姓名、SSNumber、电子邮件。如果我单击该行,那么我希望所有用户详细信息都应加载到文本框中。我该怎么做

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


欢迎使用C或vb帮助。

您可以向创建的行添加属性,当用户单击该行时,将属性重定向到具有要显示对象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" ) + "'";
        }
    }

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

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

“1”是要获取文本框值的特定列的索引

处理SelectedItem事件,读取其所有信息,然后将其分配给文本框。假设您需要的所有信息都已加载到DataGrid中,为什么需要sql查询?若要从表中选择所有列,并在WHERE子句中按唯一ID对其进行筛选,则信息应位于文本框中。听起来这是一种很愚蠢的方式。我的建议是一样的,处理SelectedItem事件,根据所选ID,在启动时执行查询。欢迎使用SO。请分享您正在使用的相关代码,以便我们提出解决方案。