Avatar billede Syska Mester
29. september 2004 - 17:49 Der er 2 kommentarer og
1 løsning

Hent data fra et listview

Hey fellew C-Sharpers :-)

Jeg har et ListView som jeg gerne vil kunne trække ud hvilke/hvilken række der er selected, men kan slet ikke få det til at virke :-(

Jeg har lavet en function til at fylde det op, og smide nogle overskrifter på etc.

Så har jeg prøvet at lave noget til min listPolls_SelectedIndexChanged men kan ikke få noget som helst til at virke, ved jeg får en Collection af et eller andet, men hvordan får jeg så ud hvilke nogle række der er selected aner jeg ikke, er der en venlig sjæl derude som kan fortælle mig det.

Har googlet og er ved at gå amok, for nogle af de steder der var et svar fattede jeg bare nada af koden eller noget som helst, eller så var det et helt hjemmelavet class til det....

Nogen der kan give mig nogle brugbare ideer/kode.....

Her er min kode:
        [STAThread]
static void Main()
{
    Application.Run(new Form1());
}

private void fillPollList(){
    int i;
    MySqlConnection thisConnection = new MySqlConnection("server=syska.dk;database=c-sharp;User id=root;password=supermand");
    thisConnection.Open();
    MySqlCommand thisCommand = new MySqlCommand("SELECT p.pollId, p.pollQuestion, SUM(po.pollOptionVotes) AS votes, COUNT(po.pollId) AS options FROM poll as p LEFT OUTER JOIN pollOption AS po ON p.pollId = po.pollId GROUP BY p.pollId", thisConnection);
    MySqlDataReader thisReader;
    thisReader = thisCommand.ExecuteReader();
   
    while(thisReader.Read()){
        ListViewItem thisViewItem = new ListViewItem(thisReader["pollId"].ToString());

        thisViewItem.SubItems.Add(thisReader["pollQuestion"].ToString());
       
        if(thisReader["votes"].ToString().Length == 0)
        {
            i = 0;
        }else{
            i = Convert.ToInt32(thisReader["votes"].ToString());
        }
        thisViewItem.SubItems.Add(i.ToString());
        thisViewItem.SubItems.Add(thisReader["options"].ToString());

        listPolls.Items.Add(thisViewItem);
    }
    thisReader.Close();
    thisConnection.Close();
}

private void Form1_Load(object sender, System.EventArgs e)
{
    fillPollList();
}

private void listPolls_SelectedIndexChanged(object sender, System.EventArgs e)
{
    MessageBox.Show("test10");
}


mvh
Mikael
Avatar billede snepnet Nybegynder
29. september 2004 - 18:31 #1
Her igen buzzz :o)

er det sådan en her du står og mangler :

foreach(ListViewItem lvi in this.someListView.Items)
{
    bool selected = lvi.Selected;
}

mvh
Avatar billede Syska Mester
29. september 2004 - 18:56 #2
jada, du er da min helt :-P

blev til:
foreach(ListViewItem lvi in this.listPolls.Items)
{
    bool selected = lvi.Selected;
    if(selected){
        pollId.Text = lvi.SubItems[0].Text.ToString();
    }
}
for at få ID'et ud, så jeg takker mange gange

// ouT
Avatar billede snepnet Nybegynder
29. september 2004 - 19:01 #3
det var så lidt :o)
mvh
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester