private void CreateFieldTableRows()
        {
            FieldBoxList = new List <FieldBox>();

            foreach (var field in Template.Fields.OrderBy(x => x.Order))
            {
                var fieldBox = new FieldBox(field);

                if (fieldBox.RelatedColumnsList != null)
                {
                    fieldBox.RelatedColumnsList.SelectedIndexChanged += new EventHandler(RelatedColumnsList_SelectedIndexChanged);
                }

                if (fieldBox.ViewUserPredicateBox != null)
                {
                    fieldBox.Predicate.FilterApplied += new EventHandler(Predicate_FilterApplied);
                }

                var fieldRow = fieldBox.CreateRowPredicateBuilder();

                if (field.Order == SelectedIndex)
                {
                    fieldBox.checkBox.Checked = true;
                    fieldRow.ApplyStyle(SelectedRowStyle);
                }

                FieldTable.Rows.Add(fieldRow);
                FieldBoxList.Add(fieldBox);
            }
        }
        void RelatedColumnsList_SelectedIndexChanged(object sender, EventArgs e)
        {
            var s = sender as DropDownList;
            var z = s.ID;

            Template.Fields.Clear();

            for (int i = 0; i < FieldBoxList.Count; i++)
            {
                if (FieldBoxList[i].RelatedColumnsList != null && FieldBoxList[i].RelatedColumnsList.ID == z)
                {
                    FieldBoxList[i].Field.Predicate     = string.Empty;
                    FieldBoxList[i].Field.PredicateInfo = string.Empty;

                    FieldBoxList[i] = new FieldBox(FieldBoxList[i].Field);
                }
                Template.Fields.Add(FieldBoxList[i].Field);
            }
            DataBind();
        }