none
É possível um Gridview...? RRS feed

  • Pergunta

  • Bom dia galera!

    Estou com uma dúvida espero que alguém possa ajudar.
    Seguinte tenho uma grid que retorna dados através de uma function, como abaixo:

    Data

    Empresa

    JAN

    FEV

    MAR

    ABR

    MAI

    1/1/2009

    1

    2928

     

     

     

     

    1/2/2009

    1

    2733

     

     

     

     

    1/3/2009

    1

    3139

     

     

     

     

    1/4/2009

    1

    2700

     

     

     

     

    1/6/2009

    2

    1

     

     

     

     

    1/1/2009

    3

    2

     

     

     

     

    1/2/2009

    3

    0

     

     

     

     

    1/3/2009

    3

    1

     

     

     

     

    1/6/2009

    4

    21

     

     

     

     


    Os campos FEV, MAR, ABR...inclui são temporários, criado no próprio grid. O que gostaria de fazer é agrupar os dados de Janeiro na sua respectiva coluna e assim consequentemente.
    Várias pesquisas no google e nada, alguém pode me dar uma luz?

    Att.
    Obrigado!

    • Editado TZR2000 terça-feira, 21 de julho de 2009 12:14
    sexta-feira, 3 de julho de 2009 11:49

Respostas

  • Sim, entendi.

    Foi o que eu disse na resposta anterior. Você não vai conseguir fazer isso utilizando o GridView.

    Terá que utilizar o DataList ou ListView.
    • Sugerido como Resposta Guilherme_ segunda-feira, 6 de julho de 2009 13:11
    • Marcado como Resposta TZR2000 segunda-feira, 6 de julho de 2009 13:14
    segunda-feira, 6 de julho de 2009 13:11

Todas as Respostas

  • Utilize a função "GROUP BY" na sua query.

    Ex.:

    Select * from tabela group by data
    • Sugerido como Resposta Guilherme_ sexta-feira, 3 de julho de 2009 12:00
    • Não Sugerido como Resposta TZR2000 sexta-feira, 3 de julho de 2009 12:37
    sexta-feira, 3 de julho de 2009 11:58
  • Guilherme,

    Detalhe: não posso alterar função (query).
    E a questão não é só "agrupar", é exibir os dados em cada coluna...

    Att.
    sexta-feira, 3 de julho de 2009 12:35
  • Poste o codigo do seu gridview.
    sexta-feira, 3 de julho de 2009 13:00
  • São 2 grid´s nessa page.
    O que preciso mudar é o Gv_mensal
    Att.


    Public

    Sub Carrega_Dados()

     

    lbl_inicio.Text = Session("inicio")

    lbl_fim.Text = Session(

    "fim")

     

    Dim data_inicial As DateTime = lbl_inicio.Text

     

    Dim data_final As DateTime = lbl_fim.Text

     

    Dim caminho_inc As String = (Server.MapPath("conexao.inc"))

     

    fsConfig = New FileStream("" & caminho_inc & "", FileMode.Open, FileAccess.Read)

    srConfig =

    New StreamReader(fsConfig)

     

    While srConfig.Peek <> -1

    strLinha = srConfig.ReadLine()

     

    Select Case strLinha

     

    Case "[CONECTION]"

    strConn = srConfig.ReadLine

     

    End Select

     

    End While

    fsConfig.close()

    srConfig.close()

     

    sql = "affWebSeguradora C,'" & Format$(data_inicial, "MM/dd/yy") & "', '" & Format$(data_final, "MM/dd/yy") & "',0,0,0,0,0,0"

    sql2 =

    "affWebSeguradora M,'" & Format$(data_inicial, "MM/dd/yy") & "', '" & Format$(data_final, "MM/dd/yy") & "',0,0,0,0,0,0"

    conn =

    New OleDbConnection("" & strConn & "")

    conn.Open()

    da =

    New OleDbDataAdapter(sql, conn)

    ds =

    New DataSet

    da.Fill(ds,

    "affWebSeguradora")

    da2 =

    New OleDbDataAdapter(sql2, conn)

    ds2 =

    New DataSet

    da2.Fill(ds2,

    "affWebSeguradora")

     

    If ordenacao <> String.Empty Then

    ds.Tables(0).DefaultView.Sort = ordenacao

     

    End If

     

    conn.Close()

    da =

    Nothing

    da2 =

    Nothing

    conn =

    Nothing

    Gv_consolidados.DataSource = ds.Tables(0)

    Gv_consolidados.DataBind()

     

    Gv_mensal.DataSource = ds2.Tables(0)

    Gv_mensal.DataBind()

     

    End Sub

    sexta-feira, 3 de julho de 2009 13:10
  • Vc postou o codebehind. Preciso do source.

    <asp:GridView id="GridView1">
    ...
    </asp:GridVie>
    sexta-feira, 3 de julho de 2009 13:17
  • Sorry... Guilherme...rs

     

    <asp:GridView ID="Gv_mensal" runat="server" AllowSorting="True" CellPadding="1" Font-Bold="True" ForeColor="RoyalBlue" HorizontalAlign="Center" style="left: 32px; top: 392px; font-size: 10pt; font-family: Arial;" ShowFooter="True" AutoGenerateColumns="False" Width="920px">

     

    <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />

     

    <Columns>

     

    <asp:BoundField DataField="data" DataFormatString="{0:dd/MM/yy}" HeaderText="Data"

     

    HtmlEncode="False" SortExpression="Data">

     

    <ItemStyle HorizontalAlign="Center" />

     

    </asp:BoundField>

     

    <asp:BoundField DataField="seguradora" HeaderText="Seguradora" SortExpression="seguradora" >

     

    <ItemStyle HorizontalAlign="Center" />

     

    </asp:BoundField>

     

    <asp:BoundField DataField="abertos" HeaderText="JAN" NullDisplayText="0" SortExpression="JAN" >

     

    <ItemStyle HorizontalAlign="Center" />

     

    <FooterStyle HorizontalAlign="Center" />

     

    </asp:BoundField>

     

    <asp:BoundField DataField="abertos" HeaderText="FEV" NullDisplayText="0" SortExpression="FEV" >

     

    <ItemStyle HorizontalAlign="Center" />

     

    <FooterStyle HorizontalAlign="Center" />

     

    </asp:BoundField>

     

    <asp:BoundField DataField="abertos" HeaderText="MAR" SortExpression="MAR" NullDisplayText="0" />

     

    <asp:BoundField DataField="abertos" HeaderText="ABR" SortExpression="ABR" NullDisplayText="0" />

     

    <asp:BoundField DataField="abertos" HeaderText="MAI" NullDisplayText="0" SortExpression="MAI" />

     

    <asp:BoundField DataField="abertos" HeaderText="JUN" NullDisplayText="0" SortExpression="JUN" />

     

    <asp:BoundField DataField="abertos" HeaderText="JUL" NullDisplayText="0" SortExpression="JUL" />

     

    <asp:BoundField DataField="abertos" HeaderText="AGO" NullDisplayText="0" SortExpression="AGO" />

     

    <asp:BoundField DataField="abertos" HeaderText="SET" NullDisplayText="0" SortExpression="SET" />

     

    <asp:BoundField DataField="abertos" HeaderText="OUT" NullDisplayText="0" SortExpression="OUT" />

     

    <asp:BoundField DataField="abertos" HeaderText="NOV" NullDisplayText="0" SortExpression="NOV" />

     

    <asp:BoundField DataField="abertos" HeaderText="DEZ" NullDisplayText="0" SortExpression="DEZ" />

     

    </Columns>

     

    <RowStyle BackColor="#EFF3FB" />

     

    <EditRowStyle BackColor="#2461BF" />

     

    <SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />

     

    <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />

     

    <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />

     

    <AlternatingRowStyle BackColor="White" />

     

     

    </asp:GridView>

    sexta-feira, 3 de julho de 2009 13:18
  • Amigo, boiei legal agora.

    Para exibição de dados horizontalmente, você precisa usar o controle DataList ou ListView.
    • Sugerido como Resposta Guilherme_ sexta-feira, 3 de julho de 2009 16:28
    • Não Sugerido como Resposta TZR2000 segunda-feira, 6 de julho de 2009 11:30
    sexta-feira, 3 de julho de 2009 16:28
  • Bom dia Guilherme, FDS não tive tempo para responder... Então, talvez eu não tenha sido claro no que "pretendia" fazer...vamos lá! Seguinte: Os campos (JAN, FEV, MAR...) na minha tabela não existem, são temporários que criei no próprio Grid, se vc reparar nas datas (a esq. do grid) vai reparar que todas as totalizações estão num mesmo campo (JAN). O que está errado, o correto (pelo menos o que eu gostaria) era que ficasse na seguinte maneira: Entendeu? Agradeço pela toda atenção e ajuda em tentar me auxiliar Guilherme! Att.
    • Editado TZR2000 terça-feira, 21 de julho de 2009 12:20
    segunda-feira, 6 de julho de 2009 11:28
  • Sim, entendi.

    Foi o que eu disse na resposta anterior. Você não vai conseguir fazer isso utilizando o GridView.

    Terá que utilizar o DataList ou ListView.
    • Sugerido como Resposta Guilherme_ segunda-feira, 6 de julho de 2009 13:11
    • Marcado como Resposta TZR2000 segunda-feira, 6 de julho de 2009 13:14
    segunda-feira, 6 de julho de 2009 13:11
  • Um exemplo:

    <asp:DataList ID="DataList1" runat="server" RepeatColumns="3" RepeatDirection="Horizontal " ShowHeader="false">
    <ItemTemplate>  
    <a href="<%# DataBinder.Eval(Container.DataItem, "campo ")%>">Teste</a>
    </ItemTemplate>
    </asp:DataList>


    Note que setei a propriedade RepeatDirection como Horizontal para exibição dos dados na horizontal.
    • Sugerido como Resposta Guilherme_ segunda-feira, 6 de julho de 2009 13:15
    segunda-feira, 6 de julho de 2009 13:14
  • Então ok!
    Vou estudar o datalist ou listview e ver como faço.
    Obrigadão Guilherme!

    segunda-feira, 6 de julho de 2009 13:15
  • Então ok!
    Vou estudar o datalist ou listview e ver como faço.
    Obrigadão Guilherme!


    Postei um exemplo acima. Dê uma olhada.

    Caso tenha alguma dúvida, é só perguntar.
    segunda-feira, 6 de julho de 2009 13:17