none
Exibir o restante da informação GridView RRS feed

  • Pergunta

  • Galera, boa tarde.

    Estou colocando um limite em uma coluna do Grid  com esse código.

      protected void grvHistoricoAfastamento_RowDataBound(object sender, GridViewRowEventArgs e)
            {
                if (e.Row.RowType == DataControlRowType.DataRow)
                {
                    if (e.Row.Cells[2].Text.ToString().Length > 20)
                    {
                        e.Row.Cells[2].Text = e.Row.Cells[2].Text.ToString().Substring(0,20) + "...";
                    }
                }
            }

    Estou com esse cenário,

    ao passar o mouse sobre a linha do GridView, abrir um popup, e exibir o restante daquela coluna.

    Como poderia esta fazendo isso? dicas

    Obrigado.

    terça-feira, 21 de janeiro de 2014 18:12

Respostas

  • Wennder, obrigado pela ajuda.

    Conseguei resolver dessa maneira.

      <asp:GridView ID="grvHistoricoAfastamento" runat="server" AutoGenerateColumns="False"
                                                                        GridLines="None" Width="550px" OnRowDataBound="grvHistoricoAfastamento_RowDataBound">
                                                                        <HeaderStyle CssClass="Header" />
                                                                        <RowStyle CssClass="row" />
                                                                        <PagerStyle CssClass="pager-row" />
                                                                        <Columns>
                                                                            <asp:BoundField DataField="Colaborador_Afastamento_Data" HeaderText="Data Afastamento"
                                                                                DataFormatString="{0:dd/MM/yyyy}" />
                                                                            <asp:BoundField DataField="Colaborador_Afastamento_DataRetorno" HeaderText="Data Retorno" DataFormatString="{0:dd/MM/yyyy}" />
                                                                            <asp:TemplateField HeaderText="Motivo Afastamento">
                                                                                <ItemTemplate>
                                                                                    <asp:Label runat="server" ID="lblDescricao_Afastamento" ToolTip='<%# Eval("Colaborador_Afastamento_Motivo") %>'></asp:Label>
                                                                                </ItemTemplate>
                                                                            </asp:TemplateField>
                                                                              <asp:BoundField DataField="Colaborador_Afastamento_Tipo" HeaderText="Descrição" />
                                                                        </Columns>
                                                                    </asp:GridView>
     protected void grvHistoricoAfastamento_RowDataBound(object sender, GridViewRowEventArgs e)
            {
                if (e.Row.RowIndex > -1)
                {
                    ((Label)e.Row.FindControl("lblDescricao_Afastamento")).Text = ((Object.tblCorColaborador_Afastamento)e.Row.DataItem).Colaborador_Afastamento_Motivo.Length > 10 ? ((Object.tblCorColaborador_Afastamento)e.Row.DataItem).Colaborador_Afastamento_Motivo.Substring(0, 10) + "..." : ((Object.tblCorColaborador_Afastamento)e.Row.DataItem).Colaborador_Afastamento_Motivo;
                }
            }


    • Marcado como Resposta Felipe Torralvo quinta-feira, 23 de janeiro de 2014 16:35
    quinta-feira, 23 de janeiro de 2014 16:34

Todas as Respostas

  • Olá Felipe,

    criei o código abaixo rapidinho, adapte ele a sua estrutura, vai funcionar:

    private void Form1_Load(object sender, EventArgs e)
            {
                DataTable ped = new DataTable();
                ped.Columns.Add("teste1");
                ped.Columns.Add("teste2");
                ped.Columns.Add("teste3");
                ped.Columns.Add("teste4");
    
              for (int i = 0; i<10; i++)
              {
                        DataRow row = ped.NewRow();
                        row["teste1"] = "teste123".Substring(0, 5);
                        row["teste2"] = "teste123".Substring(0, 5);
                        row["teste3"] = "teste123".Substring(0, 5);
                        row["teste4"] = "teste123".Substring(0, 5);
                        ped.Rows.Add(row);
                    
                }
              dataGridView1.DataSource = ped;
           
           //adiciona um tooltip para cada celular do grid com o valor da própria celula
              for (int i = 0; i < dataGridView1.RowCount - 1; i++)
              {
                  for (int j = 0; j < dataGridView1.ColumnCount - 1; i++)
                  {
    
                      dataGridView1.Rows[i].Cells[j].ToolTipText = dataGridView1.Rows[i].Cells[j].Value.ToString();
                      
                  }
              }
    
    
    
            }

    Att

    Wennder A. Santos

    Se foi útil, marque como útil. Se respondeu sua pergunta ou sanou sua dúvida, marque como resposta.


    • Sugerido como Resposta Daniel Brito br terça-feira, 21 de janeiro de 2014 18:54
    terça-feira, 21 de janeiro de 2014 18:52
  • Wennder, obrigado pela ajuda.

    Conseguei resolver dessa maneira.

      <asp:GridView ID="grvHistoricoAfastamento" runat="server" AutoGenerateColumns="False"
                                                                        GridLines="None" Width="550px" OnRowDataBound="grvHistoricoAfastamento_RowDataBound">
                                                                        <HeaderStyle CssClass="Header" />
                                                                        <RowStyle CssClass="row" />
                                                                        <PagerStyle CssClass="pager-row" />
                                                                        <Columns>
                                                                            <asp:BoundField DataField="Colaborador_Afastamento_Data" HeaderText="Data Afastamento"
                                                                                DataFormatString="{0:dd/MM/yyyy}" />
                                                                            <asp:BoundField DataField="Colaborador_Afastamento_DataRetorno" HeaderText="Data Retorno" DataFormatString="{0:dd/MM/yyyy}" />
                                                                            <asp:TemplateField HeaderText="Motivo Afastamento">
                                                                                <ItemTemplate>
                                                                                    <asp:Label runat="server" ID="lblDescricao_Afastamento" ToolTip='<%# Eval("Colaborador_Afastamento_Motivo") %>'></asp:Label>
                                                                                </ItemTemplate>
                                                                            </asp:TemplateField>
                                                                              <asp:BoundField DataField="Colaborador_Afastamento_Tipo" HeaderText="Descrição" />
                                                                        </Columns>
                                                                    </asp:GridView>
     protected void grvHistoricoAfastamento_RowDataBound(object sender, GridViewRowEventArgs e)
            {
                if (e.Row.RowIndex > -1)
                {
                    ((Label)e.Row.FindControl("lblDescricao_Afastamento")).Text = ((Object.tblCorColaborador_Afastamento)e.Row.DataItem).Colaborador_Afastamento_Motivo.Length > 10 ? ((Object.tblCorColaborador_Afastamento)e.Row.DataItem).Colaborador_Afastamento_Motivo.Substring(0, 10) + "..." : ((Object.tblCorColaborador_Afastamento)e.Row.DataItem).Colaborador_Afastamento_Motivo;
                }
            }


    • Marcado como Resposta Felipe Torralvo quinta-feira, 23 de janeiro de 2014 16:35
    quinta-feira, 23 de janeiro de 2014 16:34