private async void PropGrid_PropertyValueChanged(object s, PropertyValueChangedEventArgs e) { var newColumnHeaderRange = new ColumnHeaderRange(_sheetOptions); if (!newColumnHeaderRange.Equals(_columnHeaderRange)) { await LoadColumns(); _columnHeaderRange = newColumnHeaderRange; ValueChanged?.Invoke(this, EventArgs.Empty); } }
public async Task LoadColumns() { await _columnsLoadControl.DoLoad(async() => { var sheetIndex = _sheetMeta.Index; var range = new ColumnHeaderRange(_sheetOptions); var columnNames = await Task.Run(() => XlsUtil.ReadColumnNames( _filePath, sheetIndex, range.FirstRowNumber, range.FirstColumnLetter, range.LastColumnLetter, range.HeaderRow)); _columnsControl.SetSourceColumns(columnNames); _columnsControl.SetTargetToNewTable(); }); }