1

listview には、カスタム タイプのデータ型のリストが入力されます。選択した行をリストビューからカスタムデータ型に変換したいので、これを試しました

private void btnDelete_Click(object sender, EventArgs e)
{
   var selected = (CustomDataType)listview1.SelectedItems[0];
}

これはうまくいきません。この理由は、CustomDataType削除する前に、この CustomDataType の値を使用して totalValue を減らすためにアクセスする必要があるためです。

繰り返しますが、選択したアイテムを から に変換する方法listviewCustomDataType?

更新: CustomType はArticle、 とint Quantityプロパティを持つ ArticleDetails です。Article.Price値を減らしたいので、選択したアイテムをリストビューから削除する前にプロパティにアクセスしたいtotalPrice

Update2

リストビューはこのように取り込まれます

listview1.Columns.Add("Col1");
listview1.Columns.Add("Col2");
foreach(ArticleDetails ad in myCollection)
{
   var row = new ListViewItem(ad.Article.Name);
   row.SubItems.Add(ad.Article.Price);
}
listVuew1.View = View.Details;
4

2 に答える 2

1

試す

listview1.Columns.Add("Col1");
listview1.Columns.Add("Col2");
foreach(ArticleDetails ad in myCollection)
{
   var row = new ListViewItem(ad.Article.Name);
   row.Tag = ad; // You can use this to store your object
   row.SubItems.Add(ad.Article.Price);
}
listview1.View = View.Details;


private void btnDelete_Click(object sender, EventArgs e)
{
   var selected = (CustomDataType)listview1.SelectedItems[0].Tag;
}
于 2013-07-17T08:47:10.850 に答える