348 messaggi dal 10 marzo 2013
Salve a tutti.
Ho bisogno di sapere come 'cancellare' dati visualizzati da un riepilogo.
Mi spiego un po meglio.
Ho una pagina dove vengono caricati dati da stampare e funziona in questo modo: ricerca del dato da stampare viene caricato su una griglia di un'altra pagina se viene stampato al momento sparisce dalla griglia, se non viene stampato rimane li all'infinito creando rallentamenti.
La mia domanda è questa posso fare in modo che se non viene stampato per esempio oggi, dopo mezzanotte (per esempio) non sia piu disponibile per la stampa da quella pagina?

Posto il codice del pulsante che mi gestisce la stampa, sicuramente puo essere d'aiuto

Grazie a tutti


Protected Sub BtnStampa_Click(sender As Object, e As ImageClickEventArgs) Handles BtnStampa.Click
Dim Elementiselezionati As Boolean = False
Dim StrNomeCartella As String = "~/Temp/RinnovoPro/" & Now.ToString("HH_mm_ss") & "/"
For Each riga As GridViewRow In GridView1.Rows
Dim chbSelected As WebControls.CheckBox = riga.FindControl("chbSelected")
If chbSelected.Checked Then
Dim HdnIdRinnovoPro As WebControls.HiddenField = riga.FindControl("HdnIdRinnovoPro")
Dim IdRinnovoPro As Integer = HdnIdRinnovoPro.Value
GeneraPDF(IdRinnovoPro, StrNomeCartella)
Elementiselezionati = True
Dim queryString As String = "UPDATE V_StampaRinnovoPro set Stampa = 1 WHERE IdRinnovoPro = " & IdRinnovoPro
Dim cmd As New SqlCommand(queryString, conn)
conn.Open()
cmd.ExecuteNonQuery()
conn.Close()

End If
Next

If Elementiselezionati Then
Dim Zip As New ZipFile()
Zip.AddDirectory(Server.MapPath(StrNomeCartella), "RinnovoPro")
Response.Clear()
Response.ContentType = "application/octet-stream"
Response.AddHeader("Content-Disposition", String.Format("attachment; filename=RinnovoPro.zip"))
Zip.Save(Response.OutputStream)
Directory.Delete(Server.MapPath(StrNomeCartella), True)
Response.End()
Else
ClientScript.RegisterStartupScript(Page.GetType, "NessunElementoSelezionato", "alert('Nessun elemento selezionato')", True)
End If
End Sub
Ciao,

spero di aver capito bene.

Escludendo i record con Stampa=1 che non vanno mostrati, tu hai bisogno di un ulteriore filtro per capire quali sono recenti (e quindi ancora stampabili) e quali no. Ti serve quindi una data o un intervallo di tempo ben definito per il quale il record è visibile (non so se poi lo elimini dal db o semplicemente non lo mostri).

Ti chiedo: puoi definire una data (ad es. data di creazione del record) a partire da quando il record diventa visibile in griglia? A volte può essere semplice dicendo che mostri quelli da stampare da DateTime.Now a DateTime.Now.AddHours(-24) ma spesso dipende dal contesto.

Ormai programmano tutti... ma la professionalità appartiene a pochi
348 messaggi dal 10 marzo 2013
Ciao Manuel, no non li elimino dal databse solo da quella schermata. I dati posso essere ricercati da altre schermate e ristampati, ma quella parte riguarda solo quello che e' stato fatto durante quella giornata.
Dunque hai capito benissimo la mia richiesta, dopo un certo tot di tempo li non devono essere piu' visibili, una sorta di svuotamento della cache. Ma rimangono comunque nel db
Grazie.
Allora confermo, bisogna definire l'intervallo di durata della "cache".
Puoi rendere non visibili tutti quelli non stampati da ora a:
1. n ore fa
2. la data di creazione o un'altra data di riferimento
3. un altro criterio in base al contesto

Ormai programmano tutti... ma la professionalità appartiene a pochi

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.