Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
Problema con i ContextMenu
sabato 29 ottobre 2005 - 10.32
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
SuperSasch2004
Profilo
| Newbie
28
messaggi | Data Invio:
sab 29 ott 2005 - 10:32
Salve ragazzi ... ho un problema da cui non cavo le gambe ...
Vi spiego, ho realizzato il programma di gestione del mio negozio di informatica, e come ogni punto vendita che vende oggetti con garanzia deve tenere in memoria tutte le richieste che gli utenti mi effettuano (che ho chiamato WR che sta per Works Request).
L'interfaccia è sviluppata in Visual Basic 2003 .NET e il DBMS è PostgreSQL
Ora io carico la mia bellissima lista delle WR in una ListView e fino a qui tutto qui ...
codice:
Private Sub caricaWR()
lvWR.Items.Clear()
Dim item As ListViewItem
connDb.queryDb("SELECT w.wrid, w.adminid, a.nome, a.cognome, w.priorita, w.statoid, c.nome, c.cognome FROM wr AS w " & _
" INNER JOIN clienti AS c ON (w.clienteid=c.clienteid) " & _
" LEFT JOIN administrators AS a ON (a.adminid=w.adminid)")
While connDb.query.Read
item = New ListViewItem(connDb.query.GetInt32(0).ToString)
If connDb.convertiInteroNullo(1) = "" Then
item.BackColor = Color.LightPink
Else
item.SubItems.Add(connDb.convertiStringaNullo(2) & " " & connDb.convertiStringaNullo(3))
End If
item.SubItems.Add(prioritaWR(connDb.query.GetInt32(4)))
item.SubItems.Add(statoWR(connDb.query.GetInt32(5)))
item.SubItems.Add(connDb.convertiStringaNullo(6) & " " & connDb.convertiStringaNullo(7))
lvWR.Items.Add(item)
End While
End Sub
poi carico la lista dei miei collaboratori in un contextmenu
Private Sub caricaAdmin()
connDb.queryDb("SELECT adminid, nome, cognome FROM administrators ORDER BY nome, cognome")
If connDb.query.HasRows Then
miiAssegnaA.MenuItems.Clear()
While connDb.query.Read
miAdmin = New MenuItem
miAdmin.Text = connDb.query.GetInt32(0).ToString & "- " & connDb.convertiStringaNullo(1).TrimEnd & " " & connDb.convertiStringaNullo(2).TrimEnd
miiAssegnaA.MenuItems.Add(miAdmin)
End While
Else
miiAssegnaA.Enabled = False
End If
End Sub
perciò avrei questo titpo di contextmenu
Assegna ad operatore
-> admin 1
-> admin 2
-> .... e cosi via fino alla fine dei collaboratori
Chiudi WR
Elimina WR
il problema è che il VB.NET mi fa toccare solo le 3 voci (principali) del menu che creo ... ma quelle che aggiungo dal codice non so come raqgiungerli !!!
Io vorrei che quando premo uno degli admin ci sia una funzione che mi riporti l'index di quel sotto menu e in base a quello raggiungere l'oggetto ...
non so se mi sono spiegato ... pultroppo in ita avevo solo 3 :-P
SuperSasch2004
Profilo
| Newbie
28
messaggi | Data Invio:
lun 31 ott 2005 - 12:36
Problema risolto !!
grazie a questo articolo
http://www.codeproject.com/vb/net/ContextMenuVBNET.asp
ho risolto il mio problema ...
bastato una piccola semplice modifica ... ad ogni voce che aggiungevo bastava che aggiungessi un Handler
Private Sub caricaAdmin()
connDb.queryDb("SELECT adminid, nome, cognome FROM administrators ORDER BY nome, cognome")
If connDb.query.HasRows Then
miiAssegnaA.MenuItems.Clear()
While connDb.query.Read
miAdmin = New MenuItem
miAdmin.Text = connDb.query.GetInt32(0).ToString & "- " & connDb.convertiStringaNullo(1).TrimEnd & " " & connDb.convertiStringaNullo(2).TrimEnd
miiAssegnaA.MenuItems.Add(miAdmin)
AddHandler miAdmin.Click, AddressOf CMenuClick
End While
Else
miiAssegnaA.Enabled = False
End If
End Sub
e poi ho creato una funzione che si attiva quando clicco su una delle nuove voci !!
Private Sub CMenuClick(ByVal sender As Object, ByVal e As System.EventArgs)
Dim sel As MenuItem = CType(sender, MenuItem)
'sel eredita le proprietà della vace del menu selezionato !!
End Sub
Ringrazio lo stesso coloro che hanno letto il Messaggio e hanno sprecato tempo ...
grazie lo Stesso Sascha
Torna su
Stanze Forum
Elenco Threads
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 !