我有一个列出活动的列表视图。我有一种获取所选值的方法。我不知道如何检查用户是否未从列表中选择任何项目。我该怎么办?
这是我填充列表的方式,它将至少返回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");
}
答案 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");
}