WPF listview adat kinyerése

Címkék
WPF listview adat kinyerése
2012-05-07T15:48:04+02:00
2012-05-07T21:33:23+02:00
2022-11-25T16:41:57+01:00
doup_master
Sziasztok egy listview két oszlopból áll. Város és irányítószám ebből hogyan tudom kinyeni a kiválasztott elem városát vagy irányítószámát?

Egyébként így töltöm fel


private List<City> LoadCollectionData() { List<City> City = new List<City>(); List<string[]> eredmeny = new List<string[]>(); eredmeny = Adatbazis.Select("SELECT cit_name, cit_zip FROM varosok ORDER BY cit_name", new string[]{"cit_name","cit_zip"}, "valaki","valami"); foreach (string[] item in eredmeny) { City.Add(new City() { Zip = Int32.Parse(item[1].ToString()), Name = item[0].ToString() }); } return City; } private void Window_Loaded(object sender, RoutedEventArgs e) { listView1.ItemsSource = LoadCollectionData(); } } class City { public int Zip { get; set; } public string Name { get; set; } }
Mutasd a teljes hozzászólást!
Pontosan úgyvan ahogy mondod. A legegyszerűbb az lesz ha így oldod meg:
private City kivalasztott_varos; public City SelectedCity { get { return kivalasztott_varos; } set { kivalasztott_varos = value; } } // XAML-ben a ListView kódja: <ListView ItemsSource="{Binding Akarmi}" SelectedItem="{Binding Path=SelectedCity, Mode=OneWayToSource}"> ... </ListView>
Mondjuk megjeleníteni egy Textbox-ban rém egyszerűen az alábbi módon oldható meg:
<TextBox ... Text="{Binding SelectedCity.Nev}" /> <TextBox ... Text="{Binding SelectedCity.Zip}" />
Így a legegyszerűbb. Esetleg a ListView SelectedItem bindolásába beadhatod még az UpdateSourceTrigger=PropertyChanged -et is (vagy valami hasonló).

Egyébként ha azt akarod, hogy ne a wpfapplication.City jelenjen meg, akkor definiáld felül a ToString() metódust a City-ben.
Mutasd a teljes hozzászólást!

  • Amikor kiíratom ezt listview1.selecteditem.tostring(); akkor ez jelenik meg wpfapplication.city. Tehát az adat az city típus gondolom én logikusan.
    Mutasd a teljes hozzászólást!
  • Pontosan úgyvan ahogy mondod. A legegyszerűbb az lesz ha így oldod meg:
    private City kivalasztott_varos; public City SelectedCity { get { return kivalasztott_varos; } set { kivalasztott_varos = value; } } // XAML-ben a ListView kódja: <ListView ItemsSource="{Binding Akarmi}" SelectedItem="{Binding Path=SelectedCity, Mode=OneWayToSource}"> ... </ListView>
    Mondjuk megjeleníteni egy Textbox-ban rém egyszerűen az alábbi módon oldható meg:
    <TextBox ... Text="{Binding SelectedCity.Nev}" /> <TextBox ... Text="{Binding SelectedCity.Zip}" />
    Így a legegyszerűbb. Esetleg a ListView SelectedItem bindolásába beadhatod még az UpdateSourceTrigger=PropertyChanged -et is (vagy valami hasonló).

    Egyébként ha azt akarod, hogy ne a wpfapplication.City jelenjen meg, akkor definiáld felül a ToString() metódust a City-ben.
    Mutasd a teljes hozzászólást!
Címkék
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd