现在,我正在使用数据库数据填充Listview。但是我也需要编辑数据。因此,我想选择列表中的项目并将其放入字符串中。我正在使用消息框对其进行测试,但是此代码不断发生以下情况:
//Fill Listview with MySql Data
public void Data()
{
_NAWGEGEVENS = Connect.Fill();
foreach (var _NAW in _NAWGEGEVENS)
{
test.Add(new NAWGegeven()
{
Voornaam = _NAW.voornaam,
Achternaam = _NAW.achternaam,
Geslacht = _NAW.geslacht,
Adres = _NAW.geslacht,
Huisnummer = _NAW.huisnummer,
Postcode = _NAW.postcode,
Woonplaats = _NAW.woonplaats,
Geboortedatum = _NAW.geboortedatum
});
}
LVNAV.ItemsSource = test;
}
//retrieve item from the list
private void BtnWijzigen_Click(object sender, RoutedEventArgs e)
{
string text2;
text2 = ((NAWGegeven)LVNAV.SelectedValue).ToString();
//String text = LVNAV.SelectedItem.ToString();
MessageBox.Show(text2);
}
//CLASS for the listview
class NAWGegeven
{
public string Voornaam { get; set; }
public string Achternaam { get; set; }
public string Geslacht { get; set; }
public string Adres { get; set; }
public int Huisnummer { get; set; }
public string Postcode { get; set; }
public string Woonplaats { get; set; }
public DateTime Geboortedatum { get; set; }
}
结果始终是相同的,它是以下消息:ERP.NAWGEGEVEN 有谁知道如何从列表视图中检索选定的项目?我希望它从与数据库中的记录一起加载的列表中检索记录的ID。
我以前使用Listboxes进行过此操作,但是由于选项卡将所有内容弄乱了,因此我决定切换到Listviews。我有点陌生。
答案 0 :(得分:1)
如果我了解您的问题,则说明您没有从ToString方法中获得预期的字符串。如果要让ToString方法以特定格式输出字符串,则需要在NAWGegeven类中覆盖ToString方法。
class NAWGegeven
{
public string Voornaam { get; set; }
public string Achternaam { get; set; }
public string Geslacht { get; set; }
public string Adres { get; set; }
public int Huisnummer { get; set; }
public string Postcode { get; set; }
public string Woonplaats { get; set; }
public DateTime Geboortedatum { get; set; }
public override string ToString()
{
//your formatted output string here
//Example
return $"{nameof(Voornam)}: {Voornam}, {nameof(Achternaam)}: {Achternaam}";
}
}
编辑:如果您要检索特定的属性,则呼叫应看起来像这样:
(((NAWGegeven)LVNAV.SelectedValue)。[所需属性] .ToString();