【问题标题】:How to get latest listbox item from another page - Windows phone 8如何从另一个页面获取最新的列表框项目 - Windows phone 8
【发布时间】:2016-04-25 20:22:10
【问题描述】:

如果我在“Page1”上有一个列表框(称为 listBoxobj),它绑定了来自本地 SQLite DB 的项目,我如何从另一个页面(例如 Page2)获取最新的项目 ID。目前我有以下方法:

第1页:

private void listBoxobj_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
    if (listBoxobj.SelectedIndex != -1)
    {
            Refueling listitem = listBoxobj.SelectedItem as Refueling;
            NavigationService.Navigate(new Uri("/View/EditRefuelingPage.xaml?SelectedContactID=" + listitem.Id, UriKind.Relative));
    }
}

第2页:

protected override void OnNavigatedTo(NavigationEventArgs e)
{
    Selected_ContactId = int.Parse(NavigationContext.QueryString["SelectedContactID"]);
    currentrefuel = Db_Helper.ReadRefuel(Selected_ContactId);
}

此方法从 DataBaseHelper 类调用 ReadRefuel()

public Refueling ReadRefuel(int refuelid)
{
    using (var dbConn = new SQLiteConnection(App.DB_PATH))
    {
        var existingrefuel = dbConn.Query<Refueling>("select * from Refueling where Id =" + refuelid).FirstOrDefault();
        return existingrefuel;
    }
}

我需要另一种方法来获取最新的项目 ID(无需在列表框中单击它)。我尝试在我的 CRUID 类中创建一种额外的方法来获取最新的 ID:

        public Refueling GetLatestID()
    {
            using (var dbConn = new SQLiteConnection(App.DB_PATH))
            {
            var latestID = dbConn.Query<Refueling>("select Id from Refueling").Last();
            return latestID;
            }
    }

然后执行以下操作:

                int latestID = Convert.ToInt32(Db_Helper.GetLatestID());
                lastRefueling = Db_Helper.ReadRefuel(latestID);
                oldMileage = Convert.ToDouble(lastRefueling.Mileage);

,但出现异常:在 mscorlib.ni.dll 中发生“System.InvalidCastException”类型的异常,但未在用户代码中处理

【问题讨论】:

    标签: c# windows-phone-8 listbox


    【解决方案1】:

    实际上,int latestID = Convert.ToInt32(Db_Helper.GetLatestID()); 我得到了一个 Refueling 类型的对象,所以我不得不像这样从中获取元素 ID:lastRefueling = Db_Helper.ReadRefuel(latestID.Id);

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-20
      相关资源
      最近更新 更多