/// <summary>
    /// Initializes the form.
    /// </summary>
    /// <param name="basicForm">Form</param>
    /// <param name="dr">Data row with the data</param>
    /// <param name="fi">Form info</param>
    private void InitForm(BasicForm basicForm, DataRow dr, FormInfo fi)
    {
        if (basicForm != null)
        {
            basicForm.DataRow = dr;

            basicForm.MacroTable = webPartInstance != null ? webPartInstance.MacroTable : new Hashtable(StringComparer.InvariantCultureIgnoreCase);

            basicForm.SubmitButton.Visible = false;
            basicForm.SiteName             = SiteContext.CurrentSiteName;
            basicForm.FormInformation      = fi.Clone();
            basicForm.OnItemValidation    += formElem_OnItemValidation;

            ApplySavedCategoryCollapsingState(basicForm);

            basicForm.ReloadData();
        }
    }