/// <summary>
        /// Restores the saved state to the <see cref="GridView"/>.
        /// </summary>
        public void RestoreState()
        {
            if (StateDiscarded)
            {
                throw new InvalidOperationException($"Cannot call \"{nameof(RestoreState)}\" when state has been discarded!");
            }
            if (!_stateRestored && ControlState != null)
            {
                ControlState.RestoreViewState(GridView);
            }

            _stateRestored = true;
        }