2

我有 105 个带有复选框的列表框项目。当用户选择项目时,我希望将所选项目存储在 WP7 本地数据库中。那么,我需要在数据库表列中输入所有列表项吗?或者有没有其他方法可以存储它并在需要时显示所选项目?我正在使用 C# 和 XAML。请帮忙!

4

2 回答 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 回答