Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Temporizzare evento

  1. #1
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,856

    Temporizzare evento

    Ho due gridview, il secondo mostra dei dati in base al selectedindexchanged nel primo.
    I gridview sono bindati nel pageload (mi trovo all'interno di uno usercontrol).

    Devo fare in modo che ogni 3 secondi avvenga la selezione in sequenza di una riga del primo gridview (con la riga che si deve evidenziare) e che di conseguenza cambi il contenuto del secondo gridview in funzione della selezione sul primo.
    La cosa dovrebbe essere ciclica ovvero che dopo aver passato tutti i record del primo gridview ritorni al primo record e ricominci.

    Via al dibattito :-)
    A parte gli scherzi non so da che parte iniziare, immagino mi serva un timer che allo scadere dei 3 secondi setti il record x come selezionato scatenando così la funzione che valorizza il secondo gridview... ma non sono molto pratico...
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  2. #2
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,886
    credo tu debba farlo con il setTimeout() di jQuery, dopo il bind fai un ciclo e chiami via Ajax il metodo che fa il secondo bind..

    un ottimo passatempo per la pasqua

  3. #3
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,856
    Quote Originariamente inviata da djciko Visualizza il messaggio
    un ottimo passatempo per la pasqua
    Allora me ne dovrò trovare un altro perchè ho risolto con un updatepanel e ajax.
    Se interesa pubblico il codice.
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  4. #4
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,886
    e' sempre bene postare le soluzioni

  5. #5
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,856
    aspx
    codice:
      <asp:ScriptManager runat="server"></asp:ScriptManager>
    
            <asp:UpdatePanel ID="UpdatePanel1" runat="server">
                <ContentTemplate>
                    <asp:Timer ID="Timer1" runat="server" Interval="3000" ontick="Timer_Tick"></asp:Timer>
                    <div class="row">
                        <div class="col-xs-6" style="float:left;">
                    
                            <asp:GridView ID="gv_primo" runat="server"  CssClass="table table-sm" HeaderStyle-CssClass="thead-light" DataKeyNames="xxx,yyy" OnSelectedIndexChanged="gv_primo_SelectedIndexChanged" AutoGenerateColumns="false">
                                <Columns>
                                    <asp:BoundField DataField="xxx" HeaderText="Ubicazione" SortExpression="xxx" />
                                    <asp:BoundField DataField="yyy" HeaderText="UDM Host" SortExpression="yyy" />
                                </Columns>
                            </asp:GridView>
                        </div>
    
                        <div class="col-xs-6" style="float:left;">
                            <asp:GridView ID="gv_secondo" runat="server" AutoGenerateColumns="false" CssClass="table table-sm" HeaderStyle-CssClass="thead-light">
                                <Columns>
                                    <asp:BoundField DataField="aaa" HeaderText="Cod.Articolo" SortExpression="aaa" />
                                    <asp:BoundField DataField="bbb" HeaderText="Descrizione" SortExpression="bbb" />
                                <asp:BoundField DataField="ccc" HeaderText="Q.tà" SortExpression="ccc" />
                                </Columns>
                            </asp:GridView>
                        </div>
                    </div>
                </ContentTemplate>
            </asp:UpdatePanel>
    codebehind
    codice:
     Public tmTimer As New Timer
    ...
     Public Overridable Sub Timer_Tick(ByVal sender As Object, ByVal e As EventArgs)
            Dim riga As Integer = gv_primo.SelectedIndex
            If riga < gv_primo.Rows.Count - 1 Then
                riga += 1
            Else
                riga = 0
            End If
    
            selezionariga(riga)
        End Sub
    
    'questa sotto evidenzia la riga selezionata nel primo gv e lancia la sub che valorizza il secondo  
    Private Sub selezionariga(ByVal riga As Integer)
            Dim gv As GridView = gv_primo
            gv.SelectedIndex = riga
            gv.Rows(riga).BackColor = Color.Gray
            For i = 0 To gv.Rows.Count - 1
                If (gv.Rows(i).RowIndex <> riga) Then
                    gv.Rows(i).BackColor = Color.Empty
                End If
            Next
            gv_primo_SelectedIndexChanged(gv_primo, Nothing)
        End Sub
    
    'valorizzo il secondo gv in base alla riga selezionata del primo
     Protected Sub gv_primo_SelectedIndexChanged(sender As Object, e As EventArgs)
            Dim flt1 As String = gv_primo.SelectedDataKey.Values(0).ToString
            Dim flt2 As String = gv_primo.SelectedDataKey.Values(1).ToString
            Dim cmd As SqlCommand, dtt As New DataTable
            Try
                Dim cn = New SqlConnection(ConfigurationManager.ConnectionStrings("LOG").ConnectionString)
                Using cn
                    cn.Open()
                    Dim strSQL = "SELECT * ..... WHERE campo1 =" & flt1 & " AND campo2= " & flt2
    
                    cmd = New SqlCommand(strSQL, cn)
                    Dim rs As SqlDataReader = cmd.ExecuteReader
                    If rs.HasRows Then dtt.Load(rs)
    
    
                    gv_secondo.DataSource = dtt
                    gv_secondo.DataBind()
    
                End Using
            Catch ex As Exception
    
            End Try
        End Sub
    Ultima modifica di supermac; 17-04-2019 a 23:39
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  6. #6

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 © 2024 vBulletin Solutions, Inc. All rights reserved.