Collections c# brainkiller

lunedì 20 febbraio 2006 - 11.44

alecomo Profilo | Junior Member

ciao david...
l'altra volta volevo visualizzare una form che memorizzasse le propieta di un unico nodo...
ora vorrei fare la stessa cosa ma su una serie di nodi...
ho pensato di utilizzare le collection ma sono un po in alto mare...ti allego il pezzo di codice relativo...
spero riuscirai ad aiutarmi

quando clicco su un nodo posso visualizzare tramite menu contestuale le proprieta di questo nodo...il problema è che se nn uso un array nn posso memorizzare le diverse proprietà...infatti ogni volta vengono riscritte quelle precedenti e se apro la form per modificare visualizzo sempre lo stesso valore per tutti i nodi...
OrganizationCollection è la classe collection relativa alle Organization

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

Cteniza Profilo | Guru

Anche se non sono brainkiller ti posso consigliare di gestirti una classe a parte che eredita da treenode, classe che contiene i nuovi membri che vuoi gestire.
Quando devi aprire un form con gli attributi che contiene non devi far altro che passare il nodo selezionato alla form che hai già opportunamento preparato per la bisogna.

alecomo Profilo | Junior Member

ho provato a inserire il codice che mi ha passato ma ho trovato dei problemi...
ti riscrivo il codice cosi come lho messo nel progetto...

if (org.NodeForm == null) { //chiamo funzione per mostrare form immissione attributi OrganizationForm orgform = new OrganizationForm(org); org.NodeForm = orgform; //orgform.Show(); orgform = (Form)Activator.CreateInstance(TypeOf(org)); } else orgform.Show();
cosa devo modificare?
grazie cteniza

Cteniza Profilo | Guru

Prova così
if (org.NodeForm == null)
{
//chiamo funzione per mostrare form immissione attributi
OrganizationForm orgform = new OrganizationForm(org);
org.NodeForm = orgform;
}
orgform = or.NodeForm;
orgform.Show();
Sulla classe metti
private OrganizationForm mNodeForm = null;

alecomo Profilo | Junior Member

The name 'orgform' does not exist in the class or namespace 'Tesi.Form1'
(587): The type or namespace name 'orgform' could not be found (are you missing a using directive or an assembly reference?)

mi da questi due errori che sono riferiti alla parte else
come posso risolvere?

Cteniza Profilo | Guru

Metti prima la definizione della form:
OrganizationForm orgform;
if (org.NodeForm == null)
{
//chiamo funzione per mostrare form immissione attributi
orgform = new OrganizationForm(org);
org.NodeForm = orgform;
}

alecomo Profilo | Junior Member

OrganizationForm orgform; if (org.NodeForm == null) { //chiamo funzione per mostrare form immissione attributi OrganizationForm orgform = new OrganizationForm(org); org.NodeForm = orgform; //orgform.Show(); } orgform = org.NodeForm; orgform.Show();
adesso mi da altri 2 errori:
(580): A local variable named 'orgform' cannot be declared in this scope because it would give a different meaning to 'orgform', which is already used in a 'parent or current' scope to denote something else
(586): Cannot implicitly convert type 'System.Windows.Forms.Form' to 'Tesi.OrganizationForm'
cosa posso fare?
grazie
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-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5