| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- using comal.timesheets.Data_Classes;
- 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 DataGridHeaderTapped(int columnnumber, SearchUtils.SortDirection SortDirection);
- public delegate void DataGridHeaderFilterTapped(int columnnumber, string columnname);
- [XamlCompilation(XamlCompilationOptions.Compile)]
- public partial class DataGridHeaderRow : ContentView
- {
- public event DataGridHeaderTapped OnDataGridHeaderTapped;
- public event DataGridHeaderFilterTapped OnDataGridHeaderFilterTapped;
- public string ColumnName { get; set; }
- public int ColumnNumber { get; set; }
- public SearchUtils.SortDirection SortDirection { get; set; }
- public DataGridHeaderRow()
- {
- InitializeComponent();
- SortDirection = SearchUtils.SortDirection.Default;
- }
- private void HeaderBtn_Clicked(object sender, EventArgs e)
- {
- SortDirection = ChooseDirection(SortDirection);
- OnDataGridHeaderTapped?.Invoke(ColumnNumber, SortDirection);
- }
- private void Image_tapped(object sender, EventArgs e)
- {
- OnDataGridHeaderFilterTapped?.Invoke(ColumnNumber, ColumnName);
- }
- public void Setup()
- {
- headerBtn.Text = ColumnName;
- if (ColumnName == "Image")
- filterBtn.IsVisible = false;
- ForceLayout();
- }
- private SearchUtils.SortDirection ChooseDirection(SearchUtils.SortDirection sortdirection)
- {
- switch (sortdirection)
- {
- case SearchUtils.SortDirection.Default:
- sortdirection = SearchUtils.SortDirection.Ascending;
- break;
- case SearchUtils.SortDirection.Ascending:
- sortdirection = SearchUtils.SortDirection.Descending;
- break;
- case SearchUtils.SortDirection.Descending:
- sortdirection = SearchUtils.SortDirection.Ascending;
- break;
- }
- return sortdirection;
- }
- public void ChangeFilterColour(bool filterpresent)
- {
- if (filterpresent)
- {
- col1.Width = 30;
- col0.Width = 0;
- }
- else
- {
- col1.Width = 0;
- col0.Width = 30;
- }
- }
- }
- }
|