Tengo un GridView1 dinámico con AutogenerateFields configurado en TRUE. El siguiente código mostrará el valor de la celda en un GridView, pero lo que necesito que haga es mostrar el nombre de la columna cuando se desplaza sobre una celda. Se agradece cualquier ayuda. ¡Gracias!

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.Header)
    {
        for (int i = 0; i < GridView1.Columns.Count; i++)
        {
            e.Row.Cells[i].ToolTip = GridView1.Columns[i].HeaderText;
        }

    }

    if (e.Row.RowType == DataControlRowType.DataRow)
    {
        foreach (TableCell gvcell in e.Row.Cells)
        {
            gvcell.ToolTip = gvcell.Text;

        }
    }
}
0
Ted Odukalets 13 dic. 2016 a las 16:46

2 respuestas

La mejor respuesta

Utilice este fragmento. Puede recorrer todas las celdas del evento OnRowDataBound y obtener el texto del encabezado del HeaderRow.

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
    //check if the row is a datarow
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
        //loop all cells in the row
        for (int i = 0; i < e.Row.Cells.Count; i++)
        {
            //set the tooltip text to be the header text
            e.Row.Cells[i].ToolTip = GridView1.HeaderRow.Cells[i].Text;
        }
    }
}
2
VDWWD 13 dic. 2016 a las 14:45

Eso es bastante simple, me pregunto por qué quieres mostrar información sobre herramientas cuando tienes el nombre de la columna como headertext.bdw aquí tienes.

<asp:TemplateField HeaderText="Category">
                        <ItemTemplate>
                            <asp:Label runat="server" ToolTip="Category" ID="lblCategory" Text='<%#Eval("Category") %>'></asp:Label>
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="Sub Category">
                        <ItemTemplate>
                            <asp:Label runat="server" ToolTip="SubCategory" ID="lblSubCategory" Text='<%#Eval("SubCategory") %>'></asp:Label>
                        </ItemTemplate>
                    </asp:TemplateField>
1
Vipin G 13 dic. 2016 a las 13:53