Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Datagrid ASP.NET

  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    41

    Datagrid ASP.NET

    Ciao a tutti, premetto che ho iniziato da poco a studiare l'asp.net e quindi scusate l'ovvvietà forse del problema.

    Ho costruito un Datagrid che mi prende i risultati di un sondaggio da un database. e fino a qui tutto bene.
    Nell'html ho fatto il datagrid con un template che mi tira fuori la domanda del sondaggio le risposte..ed una barra colorata....
    il problema è....come faccio a fare la funzione che mi fa avanzare la barra? so che forse è banale..ma come riprendo i valori del database, li calcolo e faccio in modo che nella barra aumenti il width....??

    questo e il codice vb

    ---------------------------------------------------------------------------------------
    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    If Not IsPostBack Then
    BindDatagrid()
    End If
    End Sub

    Private Sub DataGrid1_PageIndexChanged(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridPageChangedEvent Args) Handles DataGrid1.PageIndexChanged
    DataGrid1.CurrentPageIndex = e.NewPageIndex
    BindDatagrid()
    End Sub


    Sub BindDatagrid()

    Dim Cn As OleDb.OleDbConnection
    Dim Dad As OleDb.OleDbDataAdapter
    Dim dst As Data.DataSet
    Dim Str As String

    Str = "PROVIDER=Microsoft.Jet.OleDb.4.0;DATA SOURCE=" & Server.MapPath("../db/sondaggi.mdb")
    Cn = New OleDb.OleDbConnection(Str)

    Dad = New OleDb.OleDbDataAdapter("Select * From Sondaggio", Cn)
    dst = New Data.DataSet()
    Dad.Fill(dst)

    DataGrid1.DataSource = dst
    DataGrid1.DataBind()
    End Sub
    ---------------------------------------------------------------------------------------
    questo l'html
    ---------------------------------------------------------------------------------------
    <aspataGrid id="DataGrid1" runat="server" AutoGenerateColumns="False" PageSize="5" AllowPaging="True" Width="600px">
    <Columns>
    <asp:BoundColumn DataField="TITOLO" HeaderText="Domanda Sondaggio">
    <HeaderStyle Width="300px"></HeaderStyle>
    <ItemStyle VerticalAlign="Top"></ItemStyle>
    </asp:BoundColumn>
    <asp:TemplateColumn>
    <HeaderStyle Width="300px"></HeaderStyle>
    <ItemTemplate>
    <table width="100%" id="sond">
    <tr>
    <td width="50%"><%# Container.DataItem("DOM1")%></td>
    <td width="30%"><%# Container.DataItem("RIS1")%></td>
    <td width="20%">[img]../immagini/barra.gif[/img]</td>
    </tr>
    <tr>
    <td width="50%"><%# Container.DataItem("DOM2")%></td>
    <td width="30%"><%# Container.DataItem("RIS2")%></td>
    <td width="20%">[img]../immagini/barra.gif[/img]</td>
    </tr>
    <tr>
    <td width="50%"><%# Container.DataItem("DOM3")%></td>
    <td width="30%"><%# Container.DataItem("RIS3")%></td>
    <td width="20%">[img]../immagini/barra.gif[/img]</td>
    </tr>
    <tr>
    <td width="50%"><%# Container.DataItem("DOM4")%></td>
    <td width="30%"><%# Container.DataItem("RIS4")%></td>
    <td width="20%">[img]../immagini/barra.gif[/img]</td>
    </tr>

    <tr>
    <td width="50%"><%# Container.DataItem("DOM5")%></td>
    <td width="30%"><%# Container.DataItem("RIS5")%></td>
    <td width="20%">[img]../immagini/barra.gif[/img]</td>
    </tr>
    </table>
    </ItemTemplate>
    </asp:TemplateColumn>
    </Columns>
    <PagerStyle Mode="NumericPages"></PagerStyle>
    </aspataGrid></form>




    Grazie delle risposte...

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    4,127
    allora ..

    supponi di avere questi dati:
    risp. 1 -->votata da 4 utenti -->40%
    risp. 2 --> votata da 1 utente -->10%
    risp. 3 --> votata da 2 utenti -->20%
    risp. 4 --> votata da 3 utenti-->30%
    totale-------------->10 voti---> 100%

    stabilisci un grandezza, x es 100px
    risp. 1 --> 40% di 100px = 40px
    risp. 2 --> 10% di 100px = 10px
    risp. 3 --> 20% di 100px = 20px
    risp. 4 --> 30% di 100px = 30px

    in questo modo la barra risp 1 sara 40px, la 2 10px. la 3 20px, la 4 30px.

    ti serve contare tutte le risposte date = 100%
    calcore tutte le risposte 1, 2, 3, 4 e farne la xcentuale, e poi trasformare la percentuale in pixel.

    spero di essere stato kiaro

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    41
    no scusa nn mi sono spiegato.....
    questo lo so...io voglio sapere come fare a realizzarlo....

  4. #4
    Hai provato con una roba così?

    <asp:TemplateColumn>
    <HeaderStyle Width="300px"></HeaderStyle>
    <ItemTemplate>
    <table width="100%" id="sond">
    <tr>
    <td width="50%"><%# Container.DataItem("DOM1")%></td>
    <td width="30%"><%# Container.DataItem("RIS1")%></td>
    <td width="20%">[img]../immagini/barra.gif[/img]</td>
    </tr>
    <tr>
    <td width="50%"><%# Container.DataItem("DOM2")%></td>
    <td width="30%"><%# Container.DataItem("RIS2")%></td>
    <td width="20%">[img]../immagini/barra.gif[/img]</ runat="server"></td>
    </tr>
    <tr>
    <td width="50%"><%# Container.DataItem("DOM3")%></td>
    <td width="30%"><%# Container.DataItem("RIS3")%></td>
    <td width="20%">[img]../immagini/barra.gif[/img]</td>
    </tr>
    <tr>
    <td width="50%"><%# Container.DataItem("DOM4")%></td>
    <td width="30%"><%# Container.DataItem("RIS4")%></td>
    <td width="20%">[img]../immagini/barra.gif[/img]</td>
    </tr>

    <tr>
    <td width="50%"><%# Container.DataItem("DOM5")%></td>
    <td width="30%"><%# Container.DataItem("RIS5")%></td>
    <td width="20%">[img]../immagini/barra.gif[/img]</td>
    </tr>
    </table>
    </ItemTemplate>
    </asp:TemplateColumn>


    MI fai sapere se va? Grazie

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    41
    ho risolto cosi:


    .................
    <tr>
    <td width="50%"><%# Container.DataItem("DOM5")%></td>
    <td width="30%"><%# Container.DataItem("RIS5")%></td>
    <td width="20%">[img]../immagini/barra.gif[/img]" height="8"></td>
    </tr>

    .................


    Dove Calcola è una funzione a cui passo di volta in volta i parametri e la somma totale dei voti.


    Grazie a tutti.!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.