PDA

Visualizza la versione completa : Popolamento ListView


LorenaRm82
22-05-2013, 13:19
Ho un form che prende in ingresso un parametro squadra, dalla quale devo popolare una listview che visualizzi i componenti della squadra, quindi devo poter vedere una lista di Giocatore e della classe Giocatore, quindi mi interessa vedere il nome ed il cognome.

Il codice del form :


public partial class FormNuovaSquadra : Form
{

private Squadra _squadra;

public FormNuovaSquadra(Squadra squadra)
{
InitializeComponent();

}


private void Initialize()
{
_squadra = squadra;
}

public Squadra squadra { get; set; }

private void listView1_SelectedIndexChanged(object sender, EventArgs e)
{

}
}



La classe Squadra :


public class Squadra
{
private String _nome;
private int _giocatori;
private List<Giocatore> _membri;

public String NomeSquadra
{
get { return _nome; }
set { _nome = value; }
}

public int Giocatori
{
get { return _giocatori; }
set { _giocatori = value; }
}

public List<Giocatore> Membri
{
get { return _membri; }
set { _membri = value; }
}

public Squadra()
{
Initialize();
}

private void Initialize()
{
_nome = "";
_giocatori = 0;
_membri = null;
}
}



In pi ho la classe Giocatore


public class Giocatore
{
private string _nome;
private string _cognome;

public string Nome
{
get { return _nome; }
set { _nome = value; }
}

public string Cognome
{
get { return _cognome; }
set { _cognome = value; }
}

public Giocatore()
{
Initialize();
}

private void Initialize()
{
_nome = "";
_cognome = "";
}
}

Kahm
22-05-2013, 13:59
rispondi alle domande:

1)windows form o web form?
2)FMW 2,0 oppure 4.0 ? insomma entity?
3)non vedo nessun metodo di classe , tipo popola o getbyID, ripeto..hai entity?

LorenaRm82
22-05-2013, 14:25
L'applicazione di tipo windows form, framework 4.0..visual studio 2010 express

LorenaRm82
22-05-2013, 14:46
Il metodo posso impostarlo cosi?



private void popolaLista(object sender, EventArgs e)
{
ListView lstGiocatori = new ListView(squadra);
lstGiocatori.Items.Add("Nome");
lstGiocatori.Items.Add("Cognome");

}

Kahm
22-05-2013, 14:59
Originariamente inviato da LorenaRm82
Il metodo posso impostarlo cosi?



private void popolaLista(object sender, EventArgs e)
{
ListView lstGiocatori = new ListView(squadra);
lstGiocatori.Items.Add("Nome");
lstGiocatori.Items.Add("Cognome");

}


dim context as dbmodel....
var= from giocatori in g select g

for each e in giocatori
ListViewItem lvi = new ListViewItem(new string[]dr["ID"].ToString(),dr["Name"].ToString(),dr["Text"].ToString()});
this.listViewFields.Items.Add(lvi);
next


p.s.
hoscritto senza verificare cmq la logica questa

qui video esplicativo
http://www.youtube.com/watch?v=LxeM010HLJI

ma la vera domanda :
1)hai il model oppure hai referenziato il FW 4,0 ma programmi come se fossi al 2,0 ?

LorenaRm82
29-05-2013, 10:59
ti rispondo ora, siccome non mi arrivano piu le email di notifica al mio indirizzo ..cmq il model intendi MVC? xke no, non installato nei template

Kahm
29-05-2013, 11:21
Originariamente inviato da LorenaRm82
ti rispondo ora, siccome non mi arrivano piu le email di notifica al mio indirizzo ..cmq il model intendi MVC? xke no, non installato nei template

ho capito :stordita:

ti , questo codice una routine (vecchia) che carica una listview
la richiami e gli passi la lista
utilizza semplice SQL diretto, il quale penso che fai anche tu lo stesso



Public Sub Caricalistagenerelink(ByVal lst As ListView)

Dim litem As ListViewItem
Dim Sitem As ListViewItem.ListViewSubItem
Dim item1 As ListViewItem '= Nothing



Dim Com As New OleDbCommand
Dim Res As OleDbDataReader

lst.Items.Clear()
lst.Columns.Clear()


lst.Columns.Add(My.Resources._CLS_GenereLink.CodGe nere, 0, HorizontalAlignment.Left)

lst.Columns.Add(My.Resources._CLS_GenereLink.DescG enere, 130, HorizontalAlignment.Left)


Dim strsql As String

strsql = "SELECT * from generelink order by DescGenere"

Com.CommandType = CommandType.Text
Com.CommandText = strsql
Com.Connection = ConOleDb

' Try
Res = Com.ExecuteReader
Dim i As Integer

lst.Visible = False

While Res.Read
lst.Items.Add(Res("CodGenere") & "")
lst.Items(i).SubItems.Add(Res("DescGenere") & "")
i = i + 1
End While

lst.Visible = True

Res.Close()
End Sub

Loading