在选择行之后,我想要特定单元格的值,其中datagridview中header =“ header name”

时间:2019-02-17 18:02:35

标签: asp.net datagridview

当用户单击一行变成蓝色时,我有一个datagriview。我查询了标头名称为“ armario”的特定单元格的信息,如何获得该值,以便以后可以在新窗口中使用它。

这是我在后端的代码:

protected void OnSelectedIndexChanged(object sender, EventArgs e)
    {
        Color myRgbColor = new Color();
        myRgbColor = Color.FromArgb(27,155,255);

        foreach (GridViewRow row in editingGrid.Rows)
        {
            if (row.RowIndex == editingGrid.SelectedIndex)
            {
                row.BackColor = myRgbColor;
            }
            else
            {
                row.BackColor = System.Drawing.Color.White;
            }
        }
}

这里是我想要我在前端:

               <asp:TemplateField HeaderText="Armario" SortExpression="armario">
                    <ItemTemplate>
                        <asp:Label Text='<%# Eval("armario") %>' runat="server" />
                    </ItemTemplate>
                    <EditItemTemplate>
                        <asp:TextBox ID="txtCloset" Text='<%# Eval("armario") %>' runat="server" />
                    </EditItemTemplate>
                </asp:TemplateField>

1 个答案:

答案 0 :(得分:0)

这是我在前端所做的,添加了一个ID。

               <asp:TemplateField HeaderText="Armario" SortExpression="armario">
                    <ItemTemplate>
                        <asp:Label ID="tblCloset" Text='<%# Eval("armario") %>' runat="server" />
                    </ItemTemplate>
                    <EditItemTemplate>
                        <asp:TextBox ID="txtCloset" Text='<%# Eval("armario") %>' runat="server" />
                    </EditItemTemplate>
                </asp:TemplateField>

这就是我想在后端做的事情。

protected void OnSelectedIndexChanged(object sender, EventArgs e)
{
    Color myRgbColor = new Color();
    myRgbColor = Color.FromArgb(27,155,255);

    foreach (GridViewRow row in editingGrid.Rows)
    {
        if (row.RowIndex == editingGrid.SelectedIndex)
        {
            row.BackColor = myRgbColor;
            closet= (editingGrid.SelectedRow.FindControl("tblCloset") as Label).Text; //This is the only line I had to changed in the backend.
        }
        else
        {
            row.BackColor = System.Drawing.Color.White;
        }
    }
}

我在这里https://www.aspsnippets.com/Articles/How-to-get-Selected-Row-cell-value-from-GridView-in-ASPNet.aspx找到了解决方法