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

问题描述 投票:0回答:2

我有一个列出活动的列表视图。我有办法获得所选的值。我不知道的是如何检查用户是否没有从列表中选择任何项目。我怎样才能做到这一点?

这就是我填充列表的方式,这将返回至少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");
}
xamarin xamarin.forms xamarin.android xamarin.ios
2个回答
0
投票

在xamarin项目中,您可以使用Linq(using System.Linq)。使用Linq,可以很容易地过滤您的列表:

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

这基本上会检查您的任何商品是否具有值Selected ='true'

或者没有Linq你可以这样做:

 if(list.FindAll(x => x.Selected).Count() == 0)
 {
     //DisplayAlert...
 }

0
投票

用这个

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

}
else
{
    await DisplayAlert("Application Error", "Please choose at least one(1) activity", "Ok");
}
© www.soinside.com 2019 - 2024. All rights reserved.