/// <summary>
    /// Reloads data.
    /// </summary>
    public override void ReloadData()
    {
        // Clear the variants provider so that it does not request previously loaded attachments / history
        mVariantsProvider = null;

        gridAttachments.ReloadData();
    }
    public override void ReloadData(bool forceReload)
    {
        // Clear the variants provider so that it does not request previously loaded attachments / history
        mVariantsProvider = null;

        Visible = !StopProcessing;
        if (StopProcessing)
        {
            dsAttachments.StopProcessing     = true;
            newAttachmentElem.StopProcessing = true;
            // Do nothing
        }
        else
        {
            if ((Node != null) && (Node.DocumentID > 0))
            {
                dsAttachments.Path        = Node.NodeAliasPath;
                dsAttachments.CultureCode = Node.DocumentCulture;
                dsAttachments.SiteName    = SiteInfoProvider.GetSiteName(Node.OriginalNodeSiteID);
            }

            // Get attachment GUID
            attachmentGuid = ValidationHelper.GetGuid(Value, Guid.Empty);
            if (attachmentGuid == Guid.Empty)
            {
                dsAttachments.StopProcessing = true;
            }

            dsAttachments.DocumentVersionHistoryID = VersionHistoryID;
            dsAttachments.AttachmentFormGUID       = FormGUID;
            dsAttachments.AttachmentGUID           = attachmentGuid;

            // Force reload datasource
            if (forceReload)
            {
                dsAttachments.DataSource = null;
                dsAttachments.DataBind();
            }

            // Ensure right column name (for attachments under workflow)
            if (!DataHelper.DataSourceIsEmpty(dsAttachments.DataSource))
            {
                DataSet ds = (DataSet)dsAttachments.DataSource;
                if (ds != null)
                {
                    DataTable dt = (ds).Tables[0];
                    if (!dt.Columns.Contains("AttachmentFormGUID"))
                    {
                        dt.Columns.Add("AttachmentFormGUID");
                    }

                    // Get inner attachment
                    innerAttachment     = new DocumentAttachment(dt.Rows[0]);
                    Value               = innerAttachment.AttachmentGUID;
                    hdnAttachName.Value = innerAttachment.AttachmentName;

                    // Check if temporary attachment should be created
                    createTempAttachment = ((DocumentID == 0) && (DocumentID != innerAttachment.AttachmentDocumentID));
                }
            }

            SetupNewAttachmentButton();

            // Bind UniGrid to DataSource
            gridAttachments.DataSource = dsAttachments.DataSource;
            gridAttachments.LoadGridDefinition();
            gridAttachments.ReloadData();
        }
    }