private void UserControl_Loaded(object sender, RoutedEventArgs e)
        {
            this.DashboardHelper = DashboardHelper;
            ComplexSampleCrosstabParameters crosstabParameters = (ComplexSampleCrosstabParameters)Parameters;

            //rctLowColor.Fill = crosstabParameters.LoColorFill;
            //rctHighColor.Fill = crosstabParameters.HiColorFill;

            //Variables settings
            if (Parameters.ColumnNames.Count > 0)
            {
                cbxExposureField.SelectedItem = Parameters.ColumnNames[0];
            }
            cbxOutcomeField.SelectedItem = Parameters.CrosstabVariableName;
            cbxFieldPSU.SelectedItem     = Parameters.PSUVariableName;
            cbxFieldWeight.SelectedItem  = Parameters.WeightVariableName;
            if (Parameters.StrataVariableNames.Count > 0)
            {
                cbxFieldStrata.SelectedItem = Parameters.StrataVariableNames[0].ToString();
            }

            //2 x 2 Value mapping settings
            Update2x2ValueMappings();
            if (crosstabParameters.ColumnNames.Count > 0)
            {
                //foreach (string s in yesValues)
                foreach (string s in crosstabParameters.YesValues)
                {
                    if (lbxAllValues.Items.Contains(s))
                    {
                        lbxYesValues.Items.Add(s);
                        lbxAllValues.Items.Remove(s);
                    }
                }

                foreach (string s in crosstabParameters.NoValues)
                {
                    if (lbxAllValues.Items.Contains(s))
                    {
                        lbxNoValues.Items.Add(s);
                        lbxAllValues.Items.Remove(s);
                    }
                }
            }

            //Display settings
            txtTitle.Text = Parameters.GadgetTitle;
            txtDesc.Text  = Parameters.GadgetDescription;

            CheckVariables();
        }
        public ComplexSampleCrosstabProperties(
            DashboardHelper dashboardHelper,
            IGadget gadget,
            ComplexSampleCrosstabParameters parameters,
            List <Grid> strataGridList
            )
        {
            InitializeComponent();
            this.DashboardHelper = dashboardHelper;
            this.Gadget          = gadget;
            this.Parameters      = parameters;
            this.StrataGridList  = strataGridList;

            List <string> fields       = new List <string>();
            List <string> weightFields = new List <string>();
            List <string> strataItems  = new List <string>();

            //Variable fields
            fields.Add(String.Empty);
            ColumnDataType columnDataType = ColumnDataType.Boolean | ColumnDataType.DateTime | ColumnDataType.Numeric | ColumnDataType.Text | ColumnDataType.UserDefined;

            foreach (string fieldName in DashboardHelper.GetFieldsAsList(columnDataType))
            {
                if (DashboardHelper.IsUsingEpiProject)
                {
                    if (!(fieldName == "RecStatus"))
                    {
                        fields.Add(fieldName);
                    }
                }
                else
                {
                    fields.Add(fieldName);
                }
            }

            if (fields.Contains("SYSTEMDATE"))
            {
                fields.Remove("SYSTEMDATE");
            }

            //Weight Fields
            weightFields.Add(String.Empty);
            columnDataType = ColumnDataType.Numeric | ColumnDataType.UserDefined;
            foreach (string fieldName in DashboardHelper.GetFieldsAsList(columnDataType))
            {
                if (DashboardHelper.IsUsingEpiProject)
                {
                    if (!(fieldName == "RecStatus"))
                    {
                        weightFields.Add(fieldName);
                    }
                }
                else
                {
                    weightFields.Add(fieldName);
                }
            }
            weightFields.Sort();

            //Strata Fields
            strataItems.Add(String.Empty);
            columnDataType = ColumnDataType.Numeric | ColumnDataType.Boolean | ColumnDataType.Text | ColumnDataType.UserDefined;
            foreach (string fieldName in DashboardHelper.GetFieldsAsList(columnDataType))
            {
                if (DashboardHelper.IsUsingEpiProject)
                {
                    if (!(fieldName == "RecStatus" || fieldName == "FKEY" || fieldName == "GlobalRecordId"))
                    {
                        strataItems.Add(fieldName);
                    }
                }
                else
                {
                    strataItems.Add(fieldName);
                }
            }

            if (DashboardHelper.IsUsingEpiProject)
            {
                if (fields.Contains("RecStatus"))
                {
                    fields.Remove("RecStatus");
                }
                if (weightFields.Contains("RecStatus"))
                {
                    weightFields.Remove("RecStatus");
                }

                if (strataItems.Contains("RecStatus"))
                {
                    strataItems.Remove("RecStatus");
                }
                if (strataItems.Contains("FKEY"))
                {
                    strataItems.Remove("FKEY");
                }
                if (strataItems.Contains("GlobalRecordId"))
                {
                    strataItems.Remove("GlobalRecordId");
                }
            }

            List <string> allFieldNames = new List <string>();

            allFieldNames.AddRange(fields);
            allFieldNames.AddRange(DashboardHelper.GetAllGroupsAsList());

            cbxExposureField.ItemsSource = allFieldNames;
            cbxOutcomeField.ItemsSource  = fields;
            cbxFieldWeight.ItemsSource   = weightFields;
            cbxFieldStrata.ItemsSource   = strataItems;
            cbxFieldPSU.ItemsSource      = strataItems;

            if (cbxExposureField.Items.Count > 0)
            {
                cbxExposureField.SelectedIndex = -1;
                cbxOutcomeField.SelectedIndex  = -1;
            }

            if (cbxFieldWeight.Items.Count > 0)
            {
                cbxFieldWeight.SelectedIndex = -1;
            }

            CollectionView           view             = (CollectionView)CollectionViewSource.GetDefaultView(cbxExposureField.ItemsSource);
            PropertyGroupDescription groupDescription = new PropertyGroupDescription("VariableCategory");

            view.GroupDescriptions.Add(groupDescription);

            RowFilterControl = new RowFilterControl(this.DashboardHelper, Dialogs.FilterDialogMode.ConditionalMode, (gadget as ComplexSampleTablesControl).DataFilters, true);
            RowFilterControl.HorizontalAlignment = System.Windows.HorizontalAlignment.Left;
            panelFilters.Children.Add(RowFilterControl);


            #region Translation

            lblConfigExpandedTitleTxt.Text = DashboardSharedStrings.GADGET_CONFIG_TITLE_COMPLEX_TABLES;
            tbtnVariables.Title            = DashboardSharedStrings.GADGET_TABBUTTON_VARIABLES;
            tbtnVariables.Description      = DashboardSharedStrings.GADGET_TABDESC_COMPLEX_TABLES;
            tbtnDisplay.Title                 = DashboardSharedStrings.GADGET_TABBUTTON_DISPLAY;
            tbtnDisplay.Description           = DashboardSharedStrings.GADGET_TABDESC_DISPLAY;
            tbtnFilters.Title                 = DashboardSharedStrings.GADGET_TABBUTTON_FILTERS;
            tbtnFilters.Description           = DashboardSharedStrings.GADGET_TABDESC_FILTERS;
            tblockPanelVariablesTxt.Text      = DashboardSharedStrings.GADGET_PANELHEADER_VARIABLES;
            tblockWeightVariable.Text         = DashboardSharedStrings.GADGET_WEIGHT_VARIABLE;
            tblockPanelDisplayTxt.Text        = DashboardSharedStrings.GADGET_PANELHEADER_DISPLAY;
            tblockTitleNDescSubheaderTxt.Text = DashboardSharedStrings.GADGET_PANELSUBHEADER_TITLENDESC;
            tblockTitleTxt.Text               = DashboardSharedStrings.GADGET_GADET_TITLE;
            tblockDescTxt.Text                = DashboardSharedStrings.GADGET_DESCRIPTION;
            tblockPanelDataFilterTxt.Text     = DashboardSharedStrings.GADGET_PANELHEADER_DATA_FILTER;
            tblockAnyFilterGadgetOnlyTxt.Text = DashboardSharedStrings.GADGET_FILTER_GADGET_ONLY;
            tblockStrataVariable.Text         = DashboardSharedStrings.GADGET_STRATA_VARIABLE;
            tblockPSU.Text           = DashboardSharedStrings.GADGET_PSU;
            tblockOutcomeField.Text  = DashboardSharedStrings.GADGET_OUTCOME_VARIABLE;
            tblockExposureField.Text = DashboardSharedStrings.GADGET_EXPOSURE_VARIABLE;
            btnOKTxt.Text            = DashboardSharedStrings.BUTTON_OK;
            btnCancelTxt.Text        = DashboardSharedStrings.BUTTON_CANCEL;
            #endregion // Translation
        }