C# asp.net datagrid查看文本框中的行选择

C# asp.net datagrid查看文本框中的行选择,c#,asp.net,sql-server,datagrid,C#,Asp.net,Sql Server,Datagrid,我需要帮助将行选择放入文本框中。当用户单击网格视图中的“编辑”按钮时,我有了事件并将向您显示我尝试过的代码。 我正在visual studio 2013和sql server 2012上运行 txtname.Text = gridview.Rows[gridview.SelectedIndex].Cells[1].Text; txtname.Text = gridview.Rows[gridview.SelectedRow].Cells[1].Text; [屏幕]而不是gridview。选择

我需要帮助将行选择放入文本框中。当用户单击网格视图中的“编辑”按钮时,我有了事件并将向您显示我尝试过的代码。 我正在visual studio 2013和sql server 2012上运行

txtname.Text = gridview.Rows[gridview.SelectedIndex].Cells[1].Text;

txtname.Text = gridview.Rows[gridview.SelectedRow].Cells[1].Text;

[屏幕]

而不是
gridview。选择索引
您应该有一个事件参数并获取它的索引。从:

所以你的答案是:

protected void gridView_RowEditing(object sender, GridViewEditEventArgs e)
{
   txtname.Text = gridview.Rows[e.NewEditIndex].Cells[1].Text;
}

首先使用下面的代码创建一个Gridview

 <asp:GridView ID="GV" runat="server" AutoGenerateColumns="false"  OnRowEditing="GV_RowEditing" DataKeyNames="id">
        <Columns>
            <asp:TemplateField HeaderText="Username">
                <ItemTemplate>
                    <asp:Label ID="Label1" runat="server" Text='<%#Eval("Column1")%>'></asp:Label>
                </ItemTemplate>
            </asp:TemplateField>
            <asp:TemplateField HeaderText="Password">
                <ItemTemplate>
                    <asp:Label ID="Label2" runat="server" Text='<%#Eval("Column2")%>'></asp:Label>
                </ItemTemplate>
            </asp:TemplateField>
            <asp:TemplateField HeaderText="Action">
                <ItemTemplate>
                    <asp:LinkButton ID="LinkButton1" runat="server" CommandName="edit" OnClick="LinkButton1_Click" >Edit</asp:LinkButton>
                </ItemTemplate>
            </asp:TemplateField>
        </Columns>
    </asp:GridView>

希望这会有所帮助,所以我结合了你的两个答案,得出了一个很好的答案:

int id = Convert.ToInt32(gridview.DataKeys[e.NewEditIndex].Value);
    txtid.Text = id.ToString();
    txtname.Text = gridview.Rows[id].Cells[3].Text;
    txtadd.Text = gridview.Rows[id].Cells[4].Text;
    txtcountry.Text = gridview.Rows[id].Cells[5].Text;
    txtcity.Text = gridview.Rows[id].Cells[6].Text;
    txtpin.Text = gridview.Rows[id].Cells[7].Text;
让我知道你的想法,如果这是糟糕的编码让我也知道

塔克斯

 string id = GV.DataKeys[e.NewEditIndex].Value.ToString();
    string select = "select * from tblLogin where id ='"+Convert.ToInt16(id)+"'";
    ds = gs.select(select);
    if (ds.Tables[0].Rows.Count > 0)
    {
       lblName.Text= ds.Tables[0].Rows[0]["Column1"].ToString();
        lblPass.Text=ds.Tables[0].Rows[0]["Column2"].ToString();
    }
int id = Convert.ToInt32(gridview.DataKeys[e.NewEditIndex].Value);
    txtid.Text = id.ToString();
    txtname.Text = gridview.Rows[id].Cells[3].Text;
    txtadd.Text = gridview.Rows[id].Cells[4].Text;
    txtcountry.Text = gridview.Rows[id].Cells[5].Text;
    txtcity.Text = gridview.Rows[id].Cells[6].Text;
    txtpin.Text = gridview.Rows[id].Cells[7].Text;