使用Xamarin表单在列表视图中填充空值

时间:2019-03-20 11:38:32

标签: xamarin xamarin.forms

当前,我正在添加用户药物,用户可以选择是否添加诊断来添加药物,根据用户当前添加的“诊断”使用下拉列表收集诊断。

enter image description here

当我填写表格并选择诊断时,数据已成功添加到azure中,并且在我的下一页显示已添加药物的列表视图中,它成功显示了已添加的药物以及诊断信息。

如果我填写表格并将诊断保留为空白,则数据成功过帐到Azure,诊断ID为空白,但是在我的下一个显示已添加药物的列表视图的下一页上,它却没有显示。

如果诊断为空,则数据不会出现在列表视图中。

/// <summary>
    /// Gets User Medication list
    /// </summary>
    /// <returns>The user meds.</returns>
    async public Task GetUserMedsMain()
    {


        MedicationList.ItemsSource = null;
        UserMedTimes.Clear(); //Clears the list before calling API (prevents duplication)

        main.Children.Add(MedicationList);
        main.Children.Remove(NoMeds);

        if (!CrossConnectivity.Current.IsConnected)
        {

            main.Children.Remove(MedicationList);
            main.Children.Add(NoMeds);
            NoMeds.Text = "No Internet Connection - Please check your connection";
            NoMeds.Margin = new Thickness(35, 35, 20, 20);

            BusyIndicator.IsRunning = false;
        }

        else

        {
            BusyIndicator.IsRunning = true;

            //var usermed = await medicinemanager.CurrentClient.InvokeApiAsync<IEnumerable<usermedication>>("getusermednamejoin?userid=" + Helpers.Settings.UserKey + "", System.Net.Http.HttpMethod.Get, null);

            try
            {


                var usermeddosagetime = await medicinemanager.CurrentClient.InvokeApiAsync("getusermednamejoin?userid=" + Helpers.Settings.UserKey, null, HttpMethod.Get, await App.LoadAPIKeyAsync(), null);



                var responseContent = await usermeddosagetime.Content.ReadAsStringAsync();
                var user = JsonConvert.DeserializeObject<ObservableCollection<UserMedDosagePayLoad>>(responseContent);

                //var usermeddosagetime = await medicinemanager.CurrentClient.InvokeApiAsync<IEnumerable<UserMedDosagePayLoad>>("getusermeddosagetime?userid=" + Helpers.Settings.UserKey + "", HttpMethod.Get, API, System.Threading.CancellationToken.None);
                //null, System.Net.Http.HttpMethod.Get, API, System.Threading.CancellationToken.None);

                Debug.WriteLine("UserMedDosageTime" + usermeddosagetime);

                foreach (UserMedDosagePayLoad item in user)
                {

                    UserMedTimes.Add(item);
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex.ToString());
            }

目前,我正在使用azure中的API调用填充列表视图。

0 个答案:

没有答案