using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Xamarin.Forms; using Xamarin.Forms.Xaml; namespace comal.timesheets { public delegate void DataGridHostSaved(List selecteditems); [XamlCompilation(XamlCompilationOptions.Compile)] public partial class DataGridHost : ContentPage { public event DataGridHostSaved OnSaved; public MobileDataGrid DataGrid { get; set; } public DataGridHost(MobileDataGrid datagrid) { InitializeComponent(); NavigationPage.SetHasBackButton(this, false); DataGrid = datagrid; datagrid.OnOptionsSet += Datagrid_OnTitleSet; stackLayout.Children.Add(datagrid); } private void Datagrid_OnTitleSet(string title, DataGridSaveType savetype) { Device.BeginInvokeOnMainThread(() => { titleLbl.Text = title + "s"; saveBtn.IsVisible = savetype == DataGridSaveType.None ? false : true; }); } private void CancelBtn_Clicked(object sender, EventArgs e) { Navigation.PopAsync(); } private void SaveBtn_Clicked(object sender, EventArgs e) { OnSaved?.Invoke(CreateSelectedList()); } private List CreateSelectedList() { var list = DataGrid.Items.Where(x => x.IsSelected == true); List newlist = new List(); foreach (var item in list) { newlist.Add(item); } return newlist; } } }