0
私はあるフォームから別のフォームのリストビューにアイテムを追加していて、リストビュー内の各アイテムをJSONファイルに保存したいと思います。私はこれを行う方法を理解することができず、いくつかの場所を見てきましたが、私が使っているのと同じ方法を人々が使用しているようには見えません。ListViewItemからデータを取得する方法。 WinForms、C#
ここでは、リストビューに項目を追加するコードを示します。各ListViewItem内の各データにアクセスして、JSONファイルにすべて保存できるようにするにはどうすればよいですか?
ListView lv = (ListView)lf.Controls["mainListView"];
ListViewItem lvi = new ListViewItem();
lvi.Text = Data.Name;
lvi.Tag = Data;
switch (Data.Type)
{
case "Anime":
lvi.ImageIndex = 0;
break;
case "Book":
lvi.ImageIndex = 1;
break;
case "Comic":
lvi.ImageIndex = 2;
break;
case "Game":
lvi.ImageIndex = 3;
break;
case "Manga":
lvi.ImageIndex = 4;
break;
case "Movie":
lvi.ImageIndex = 5;
break;
case "Other":
lvi.ImageIndex = 6;
break;
case "TV":
lvi.ImageIndex = 7;
break;
}
lv.Items.Add(lvi);
これは、このフォームの「データ」という名前のValuesクラスの情報です。
public Values Data
{
get
{
Values v = new Values();
v.Name = itemNameTxt.Text;
v.Type = itemTypeCmb.Text;
v.TypeName = typeNameTxt.Text;
v.Status = statusCmb.Text;
v.Completed = completedNUD.Value;
v.URL = imageUrlTxt.Text;
v.RateOne = rating1.Checked;
v.RateTwo = rating2.Checked;
v.RateThree = rating3.Checked;
v.RateFour = rating4.Checked;
v.RateFive = rating5.Checked;
return v;
}
set
{
itemNameTxt.Text = value.Name;
itemTypeCmb.Text = value.Type;
typeNameTxt.Text = value.TypeName;
statusCmb.Text = value.Status;
completedNUD.Value = value.Completed;
imageUrlTxt.Text = value.URL;
rating1.Checked = value.RateOne;
rating2.Checked = value.RateTwo;
rating3.Checked = value.RateThree;
rating4.Checked = value.RateFour;
rating5.Checked = value.RateFive;
}
}
私は多くのコードをやり直してより理想的な解決策を見つけることができましたが、これを最初に試してみました。これは私の元のコードの正解です問題。ありがとう! – Kankuro