public Admincs() { InitializeComponent(); dataGridView1.Rows.Clear(); dataGridView1.DataSource = SQLAdm.GetStaff("", "", "", ""); Mainlist.MultiSelect = false; //Refresh(); //na liste var res = SQLAdm.GetStaff("", "", "", ""); foreach (var order in res) { ListViewItem lvi = new ListViewItem(order.Id_Staff.ToString()); lvi.SubItems.Add(order.Name); lvi.SubItems.Add(order.Surname); lvi.SubItems.Add(order.Login); lvi.SubItems.Add(SQLAdm.translateRolePL(order.Role)); Mainlist.Items.Add(lvi); } Mainlist.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent); Mainlist.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize); Mainlist.FullRowSelect = true; Mainlist.GridLines = true; ; }
public void UpdateList(Mainlist newItem) { // I'm not sure exactly how you want to update your list, // but whenever you have a new item to add, just call UpdateList. // Although I'd recommend keeping your web-scraping logic here in the // view model as well. Device.BeginInvokeOnMainThread(async() => { // remember to use the public property "List", not the private variable "_list" List.Add(newItem); }); }
public async void StartScraping() { // assuming you are 'awaiting' the results of your scraping method... foreach (...) { await...scrape a web page... var newItem = new Mainlist() { Title = title.ToString().Trim(), Value = value.ToString().Trim() }; // if you instead have multiple items to add at this point, // then just create a new List<Mainlist>, add your items to it, // then add that list to the ObservableCollection List. Device.BeginInvokeOnMainThread(() => { List.Add(newItem); }); }