После выбранной строки я хочу значение конкретной ячейки, где header = "имя заголовка" в datagridview - PullRequest
0 голосов
/ 17 февраля 2019

У меня есть обзор данных, когда пользователь нажимает на строку, она становится синей.Мне нужна информация о конкретной ячейке, где заголовок имеет имя «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 голосов
/ 17 февраля 2019

Вот что я сделал во внешнем интерфейсе, я добавил идентификатор.

               <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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...