Jag har ett problem. En ListView kan ha flera olika Items i listan, vilket du framgår inte i din fråga. Hej Fredrik. Du skulle kunna testa: Helt korrekt, jag vill bara välja ut en rad. Slarvigt av mig att inte se det, men jag får fel iallafall. Som du säger Selected finns inte, det jag menade var att jag skrev SlectedItems när det skulle vara SelectedItems. Jag tänkte att du skulle förstå att det var just Slected som va fel och skulle heta Selected inte att du skulle byta ut SelectedItems mot Selected ;) Ursäkta, jag missförstod... Varför kör du index med () du skall ha [] under C# Ber om ursäkt, kod exemplena jag gav till dig va i VB.Net och inte i C#. Du behöver inte be om ursäkt, du försökte ju i alla fall. har för mig man gör så här. Tips, du har events som du kan använda för att känna av vilken item som har blivit selekterad. Tack, det var en bit på vägen. Hej! Hej. Det är just det som är lustigt.ListView problem
Via en SP så laddar jag en listview.
Hur refererar jag till vilket som är valt i en en listview(klickat)?
När det gäller en vanlig listbox så har jag kunnat göra så här:
<code>
string kolumn = listBoxFyllTitlar.SelectedItem.ToString();
</code>Sv: ListView problem
Men här är två alternativ:
Om du har checkboxar så kan du använda dig av:
CheckedItems, den returnerar en CheckedListViewItemCollection som innehåller de ListViewItem objekt som är markerade.
Om du vill få ut de ListViewItems som är selekterade i din ListView så kan du använda dig av SelectedItems, den returnerar en SelectedListViewItemCollection som innehåller de ListViewItem objekt som är valda.
ListViewItem har tex propertyn Text som returnerar den text som visas i ListViewn.
/Fredrik NSv: ListView problem
Nej inga checkboxar.
Jag skall alltså referera till den post som jag har klickat på.
Om jag har fattat dig rätt så menar du så här:
<code>
MessageBox.Show(ListViewItem.Text.ToString());
</code>
Men det blir fel.
Försöker jag så här:
<code>
MessageBox.Show(listView1.ListViewItem.Text.ToString());
</code>
så blir det lika fel.
Skulle du vilja visa med kod hur du menar?Sv: ListView problem
<code>
MessageBox.Show(liteView1.SlectedItems[0].ToString())
</code>
Men då får du bara ut den första raden som är markerad i din ListView men det är kanske ok?
/Fredrik NSv: ListView problem
Men när jag kör:
<code>
MessageBox.Show(listView1.SlectedItems(0).ToString());
</code>
Så får jag error:
<code>
E:\C#\SawData\Saw\frmSAW.cs(858): 'System.Windows.Forms.ListView' does not contain a definition for 'SlectedItem'
</code>
Jag använder mig av standard listView men hittar ingen SlectedItems där.Sv: ListView problem
Jag får iallafall detta error:
<code>
E:\C#\SawData\Saw\frmSAW.cs(858): 'System.Windows.Forms.ListView' does not contain a definition for 'Selected'
</code>
Det finns en egenskap SelectedItems men det lyckas iallafall inte....Sv: ListView problem
Testa:
<code>
MessageBox.Show(listView1.SelectedItems.Item(0).ToString())
</code>
eller denna för att få ut Texten på den rad du har markerat:
<code>
MessageBox.Show(listView1.SelectedItems.Item(0).Text())
</code>
/Fredrik NSv: ListView problem
Men tyvärr...
<code>
MessageBox.Show(listView1.SelectedItems.Item(0).Text());
//error:
E:\C#\SawData\Saw\frmSAW.cs(858): 'System.Windows.Forms.ListView.SelectedListViewItemCollection' does not contain a definition for 'Item'
</code>
Det gör visst inte annat än dj-as i dag.Sv: ListView problem
listView1.SelectedItems[0].Text.ToString()
kan det vara felet?
Mvh Johan NSv: ListView problem
Såg inte att detta var C# forumet, de flesta frågorna brukar komma in i VB.Net forumet så man blir lite Vb.net skadad, tyvärr. Jag själv gillar inte Vb.Net utan programmerar enbart i C# så detta var verkligen pinsamt, men det kan hända alla.. ;)
Detta ska fungera:
<code>
MessageBox.Show(listView1.SelectedItems[0].Text);
</code>
/Fredrik NSv: ListView problem
Det tycks fungera, men jag måste fråga igen för att få det här bra.
Jag måste i frmSAW_Load tala om att jag vill ha den första posten selectad.
JAg försökte så här:
<code>
listView1.SelectedItems[0];
</code> men det blev fel. Hur bör jag skriva?Sv: ListView problem
<code>
listView1.Items[0].Selected = true;
</code>
//Johan NSv: ListView problem
SelectedIndexChanged
eller
tex: ItemActivate
/Fredrik NSv: ListView problem
[REDIGERAT]
Jag har fortfarande problem.
När jag klickar på listView1 så har jag bl a följande koder:
<code>
label1.Text = "Aktuell Titel: " + listView1.SelectedItems[0].Text;
//här kommer ett error
'Specified argument was out of the range of valid values. Parameter name:Index'
//Därefter så används den i min SP
string kolumn =listView1.SelectedItems[0].Text;
SqlCommand selectCommand = new SqlCommand("spbastAntalGanger '" +kolumn+ "'", con);
con.Open();
</code>
Jag får samma fel hela tiden.
Det är alltså något galet med : listView1.SelectedItems[0].Text
Vad tror ni?Sv: ListView problem
Jag har fått det felet någon gång, har för mig det hände då det inte var någon post i listan markerad fast jag förväntade mig det.
Du kanske kan göra koden lite säkrare genom att skriva:
<code>
if(listView1.SelectedItems.Count>0)
{
// Här vet du att du kan komma åt listView1.SelectedItems[0]...
}
</code>
AndersSv: ListView problem
du måste kolla så din listview innehåller data. Om den är tom får du ett null fel.
Antingen kollar du om ditt index är null eller så kan du i ett tidigare stadie kontrollera om det lades in några items genom att köra count metoden. Skall det alltid vara ett val i listviewn? eller får den vara tom? om den inte får vara tom bör du ha en kontroll innan som kollar så den innehåller något, om den inte innehåller något måste du på
något sätt meddela användaren detta eller ser till så att det kommer till default värden. (så den aldrig förblir tom)...
//Johan NSv: ListView problem
När jag laddar app då är det inga problem, därimot när jag klickar i treeviewn det är då som han säger att det inte finns någonting där.
Nu tror jag iallafall att jag har kommit förbi den punkten.
Tack för all hjälp