/// <summary> /// Begins editing of the given item. /// </summary> public async Task BeginEditAsync() { if (AllowEdit && !IsEditing && SelectionMode != TableSelectionMode.None && Selection.Count == 1 && KeyField != null) { // find item to edit var item = ItemsToDisplay.Find(x => KeyField(x).ToString() == Selection[0]); if (item != null) { // notify and allow for cancel EditItem = item; _tableBeforeEditArgs = new TableBeforeEditEventArgs <TItem>(EditItem); await InvokeAsync(async() => await BeforeEdit.InvokeAsync(_tableBeforeEditArgs).ConfigureAwait(true)).ConfigureAwait(true); if (!_tableBeforeEditArgs.Cancel) { _editValues.Clear(); IsEditing = true; BeginEditEvent.Set(); await InvokeAsync(StateHasChanged).ConfigureAwait(true); } } } }
internal void BeginEdit() { EditText = Text; IsEditing = true; BeginEditEvent.Set(); }