public void display()
        {
            FieldValuePanel.Children.Clear();
            int i = 0;

            if (fieldValueListChangeHandler == null)
            {
                WriteOffValueItem item = getPanel();
                bool isFirst           = !showLabel ? showLabel : true;
                AddValueItem(item, isFirst);
                return;
            }
            foreach (WriteOffFieldValue field in fieldValueListChangeHandler.Items)
            {
                WriteOffValueItem item = getPanel();
                item.WriteOffFieldValue = field;
                item.Index = i;
                if (this.isDateView)
                {
                    item.setDateView();
                }
                item.display(field);

                if (!showLabel)
                {
                    item.showRowLabel(false);
                }
                else
                {
                    if (i > 0)
                    {
                        item.showRowLabel(false);
                    }
                }

                this.FieldValuePanel.Children.Add(item);
                i++;
            }

            if (this.FieldValuePanel.Children.Count == 0)
            {
                WriteOffValueItem item = getPanel();
                item.Index = 0;
                if (!showLabel)
                {
                    item.showRowLabel(showLabel);
                }
                if (this.isDateView)
                {
                    item.setDateView();
                }
                else
                {
                    item.setIncrementalView(this.isIncremental);
                }
                this.FieldValuePanel.Children.Add(item);
            }
        }
        public void AddValueItem(WriteOffValueItem valueItem, bool isFirst = false)
        {
            int index = this.FieldValuePanel.Children.Count;

            valueItem.Index = index == 0 ? index : index - 1;
            if (isFirst)
            {
                valueItem.showRowLabel(true);
            }
            else
            {
                valueItem.showRowLabel(false);
            }
            OnActivateValueField(valueItem);
            this.FieldValuePanel.Children.Add(valueItem);
        }
        private void OnDeleteValueField(object item)
        {
            if (OnDeleteFieldValue != null)
            {
                if (item is WriteOffValueItem)
                {
                    int lastIndex = ((WriteOffValueItem)item).Index;
                    RemoveValueItem((WriteOffValueItem)item);
                    if (this.FieldValuePanel.Children.Count == 0)
                    {
                        OnAddValueField(writeParent.Index == 0);
                    }
                    else
                    {
                        WriteOffValueItem wp = (WriteOffValueItem)this.FieldValuePanel.Children[0];
                        if (lastIndex == 0 && writeParent.Index == 0)
                        {
                            wp.showRowLabel(true);
                        }
                    }

                    if (OnDeleteFieldValue != null)
                    {
                        OnDeleteFieldValue(((WriteOffValueItem)item).WriteOffFieldValue);
                    }
                }
                //OnDeleteFieldValue(item);
            }
        }