チェックボックス付きのリストボックス項目が 105 個あります。ユーザーがアイテムを選択すると、選択したアイテムが WP7 ローカル データベースに保存されます。では、データベース テーブルの列にすべてのリスト アイテムを入力する必要がありますか? または、それを保存して、必要に応じて選択したアイテムを表示する他の方法はありますか? C# と XAML を使用しています。助けてください!
2 に答える
0
チェックした項目のみをデータベーステーブルに保存できます。再度必要な場合は、リスト全体を表示して、データベースに存在する項目を確認してください。
または、IsCheckedフィールドを使用してデータベース内のすべてのアイテムを保存し、リスト内のテーブル全体を読み取ってから、チェックボックスをIsCheckedフィールドにバインドすることもできます。
于 2012-04-19T11:28:37.220 に答える
0
私をシンプトンと呼んでくださいが、これが私のやり方です
// to display user selection - days is a List<DayOfWeek> as stored by you in database
foreach(var day in days)
{
ListBoxItem lbi = new ListBoxItem();
TextBlock tb = new TextBlock();
tb.Text = day.ToString();
lbi.Content = tb;
lbi.VerticalContentAlignment = System.Windows.VerticalAlignment.Center;
lbi.IsSelected = AlarmMod.AlarmData.SelectedDays.Contains(day);
this.listBox.Items.Add(lbi);
}
// to store
List<DayOfWeek> iDays = new List<DayOfWeek>();
for (int i = 0; i < 7; i++)
{
if ((this.listBox.Items[i] as ListBoxItem).IsSelected)
{
iDays.Add((DayOfWeek)i);
}
}
// now you store iDays which is a List<DayOfWeek> in database.
于 2012-04-19T11:59:30.083 に答える