Visualizza Documenti

lunedì 16 marzo 2015 - 08.58
Tag Elenco Tags  VB.NET  |  .NET 4.0  |  Visual Studio 2010  |  MySQL 5.5

Mau67 Profilo | Expert

Buongiorno a tutto il forum,
in una listview carico il personale raggruppati per ufficio, e per ogni nominativo nella listview ci sono i numeri di documento da stampare, per ogni amministrato il più delle volte il numero di un documento è uguale quindi per quanto riguarda la stampa dovrei stamparne solo una copia.
Vi posto il codice che uso per la stampa del documento

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

come faccio a stampare una copia sola del documento se per più amministrati hanno lo stesso numero di documento?
Grazie
Mau67

AntCiar Profilo | Expert

usa una lista di stringhe.

PS. ho scritto il codice direttamente nel forum quindi potrebbero esserci errori di sintassi.


Dim id As ListViewItem
Dim idCollection As ListView.CheckedListViewItemCollection = lv.CheckedItems
Dim filesToPrint as Generic.List( of String) = new Generic.List( of String)()
For Each id In idCollection
If id.Checked = True Then
If Not filesToPrint.Contains(AppDomain.CurrentDomain.BaseDirectory + "\Cartelle\Atti_Autorizzativi\" & TextBox1.Text & "\" & id.SubItems(6).Text & ".pdf") Then
filesToPrint.Add(AppDomain.CurrentDomain.BaseDirectory + "\Cartelle\Atti_Autorizzativi\" & TextBox1.Text & "\" & id.SubItems(6).Text & ".pdf")
End If
End If
Next

if filesToPrint.Count >0 then
dim file as string
For Each file in filesToPrint

Dim proc As New Process
'Apro il mio file
Process.Start(file )
'Chiudo ed elimino il processo'
proc.Close()
proc.Dispose()

next
end if





Cristian Barca

Mau67 Profilo | Expert

Ciao cristian,
intanto grazie per la risposta, per quanto riguarda il codice funziona benissimo.

se invece devo fare la stampa diretta dei documenti con lo stesso criterio precedente?

questo è il codice che uso per lanciare le stampe dirette:

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

grazie
Mau67

AntCiar Profilo | Expert

ometto la prima parte perchè rimane invariata


if filesToPrint.Count >0 then
dim file as string
For Each file in filesToPrint

Try
Dim ps As Process = New Process()
Try
ps.StartInfo = New ProcessStartInfo()
ps.StartInfo.FileName = file
ps.StartInfo.CreateNoWindow = False
ps.StartInfo.UseShellExecute = True
ps.StartInfo.WindowStyle = ProcessWindowStyle.Minimized
ps.StartInfo.Verb = "print"
ps.StartInfo.WindowStyle = ProcessWindowStyle.Hidden
ps.Start()
Catch ex As Exception
End Try
ps.Close()
Catch ex As Exception
End Try

next
end if
Cristian Barca

Mau67 Profilo | Expert

Ciao Cristian
perfetto puntuale e preciso come sempre.
Grazie ciao alla prossima
Mau67

totti240282 Profilo | Guru

C'è un motivo perchè metti 2 volte .WindowStyle ?
C'è solo un capitano !!!!!!
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5