如何检查用户是否没有选择列表中的任何项目?

时间:2019-04-27 05:37:42

标签: xamarin xamarin.forms xamarin.android xamarin.ios

我有一个列出活动的列表视图。我有一种获取所选值的方法。我不知道如何检查用户是否未从列表中选择任何项目。我该怎么办?

这是我填充列表的方式,它将至少返回5-20个活动:

public void Get_Activities()
{
   try
   {
       var db = DependencyService.Get<ISQLiteDB>();
       var conn = db.GetConnection();

       var getActivity = conn.QueryAsync<ActivityTable>("SELECT * FROM tblActivity WHERE Deleted != '1' ORDER BY ActivityDescription");
       var resultCount = getActivity.Result.Count;

       if (resultCount > 0)
       {
           var result = getActivity.Result;
           lstActivity.ItemsSource = result;
           lstActivity.IsVisible = true;
       }
       else
       {
           lstActivity.IsVisible = false;
       }
    }
    catch (Exception ex)
    {
       //Crashes.TrackError(ex);
    }
}

这是我如何获取列表中所选项目的值:

foreach(var x in result)
{
  if (x.Selected) 
  {
    // do something with the selected items
  }
}

我的问题就是这样

if(list.selecteditemcount == 0){
   DisplayAlert("Error","Please select atleast 1 item","Ok");
}

2 个答案:

答案 0 :(得分:0)

在xamarin项目中,您可以使用Linq(local Info = require 'Info.lua' )。使用Linq,可以很容易地像这样过滤列表:

using System.Linq

这基本上检查您的任何物品的值是否为Selected ='true'

或者没有Linq,您可以执行以下操作:

 if(!list.Any(x => x.Selected == true))
 {
     // DisplayAlert...
 }

答案 1 :(得分:0)

使用此

if (result.Any(x => x.Selected))
{

}
else
{
    await DisplayAlert("Application Error", "Please choose at least one(1) activity", "Ok");
}