我有105个带复选框的列表框项目。当用户选择项目时,我希望所选项目存储在WP7本地数据库中。那么,我是否需要在数据库表列中输入所有列表项?或者还有其他方法来存储它并在需要时显示所选项目吗?我正在使用C#和XAML。请帮忙!
答案 0 :(得分:0)
您只能将已检查的项目存储在数据库表中,如果您再次需要它们,只需显示整个列表并检查数据库中存在的项目。
或者您可以使用IsChecked字段存储数据库中的所有项目,然后您只需在列表中读取整个表格,然后将Checkbox绑定到IsChecked字段。
答案 1 :(得分: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.