protected bool IsEditionValid(GridItem item, GrilleColumn column, string oldValue, string newValue, GridCellValidationEventArgs args)
        {
            int? oid   = item.GetOid();
            bool isKey = column.position == 0;

            if (isKey)
            {
                if (string.IsNullOrWhiteSpace(newValue))
                {
                    args.ErrorContent = column.name + " can't be empty!";
                    args.IsValid      = false;
                    return(false);
                }
            }

            else if (!oid.HasValue)
            {
                LinkedAttributeGrid grid = (LinkedAttributeGrid)this.Grille;
                Object keyValue          = item.Datas[0];
                bool   emptyKeyValue     = keyValue == null || string.IsNullOrWhiteSpace(keyValue.ToString());
                if (emptyKeyValue && !grid.attribute.incremental)
                {
                    args.ErrorContent = "You have to set " + grid.attribute.name + " before set " + column.name;
                    args.IsValid      = false;
                    return(false);
                }
            }
            return(true);
        }
        protected bool isUniqueColumn(Persistent obj)
        {
            String type = null;

            if (obj is Measure)
            {
                type = ParameterType.MEASURE.ToString();
            }
            else if (obj is Target)
            {
                type = ParameterType.SCOPE.ToString();
            }
            else if (obj is PeriodName)
            {
                type = ParameterType.PERIOD.ToString();
            }
            GrilleColumn column = this.Grid.GetColumn(type, obj.oid.Value);

            if (column != null)
            {
                MessageDisplayer.DisplayWarning("Duplicate column", "The column '" + obj.ToString() + "' is already selected!");
                return(false);
            }
            return(true);
        }
Exemplo n.º 3
0
        private bool ValidateSelection(RelationshipItemPanel panel)
        {
            GrilleColumn           column = panel.SelectedColumn();
            GrilleRelationshipItem item   = this.Relationship.GetItemByColumn(column);

            if (item == null || item == panel.RelationshipItem)
            {
                return(true);
            }
            if (item != null)
            {
                String title   = "";
                String message = "";
                if (panel.RelationshipItem == null)
                {
                    if (item.primary)
                    {
                        title = "Wrong selection";
                    }
                }
                MessageDisplayer.DisplayWarning(title, message);
                return(false);
            }
            return(true);
        }
        private void OnMove(bool up)
        {
            List <GrilleColumn> columns = new List <GrilleColumn>(0);

            foreach (GrilleColumn column in ColumnsListBox.SelectedItems)
            {
                columns.Add(column);
            }
            if (columns.Count == 0)
            {
                return;
            }
            if (up)
            {
                columns.BubbleSort();
            }
            else
            {
                columns.BubbleSortDesc();
            }
            foreach (GrilleColumn column in columns)
            {
                int          position = column.position + (up ? -1 : 1);
                GrilleColumn child    = this.Grid.GetColumn(position);
                if (child != null)
                {
                    child.position = column.position;
                    this.Grid.UpdateColumn(child);
                    column.position = position;
                    this.Grid.UpdateColumn(column);
                }
            }
            this.ColumnsListBox.ItemsSource = new ObservableCollection <GrilleColumn>(this.Grid.columnListChangeHandler.Items);
            OnChanged(true);
        }
        protected override void setColumnEditSettings(GridColumn column, GrilleColumn grilleColumn, bool readOnly = false)
        {
            bool isIncremental = grilleColumn.attribute.incremental;
            bool isKey         = ((LinkedAttributeGrid)Grille).attribute.oid == grilleColumn.attribute.oid;

            if (!isIncremental)
            {
                try
                {
                    grilleColumn.values = Service.ModelService.getLeafAttributeValues(grilleColumn.valueOid.Value);
                }
                catch (Exception) { }
                ComboBoxEditSettings combo = new ComboBoxEditSettings();
                combo.ItemsSource         = grilleColumn.Items;
                combo.IsTextEditable      = true;
                combo.ShowText            = true;
                combo.ValidateOnTextInput = true;

                combo.AllowNullInput       = !isKey;
                combo.AutoComplete         = true;
                combo.IncrementalFiltering = true;
                combo.ImmediatePopup       = true;

                column.AllowIncrementalSearch = true;
                column.EditSettings           = combo;
            }
        }
        public GrilleColumn GetNewColumn()
        {
            GrilleColumn column = new GrilleColumn();

            column.isModified = false;
            column.isAdded    = false;
            column.position   = this.Grid.columnListChangeHandler.Items.Count;
            return(column);
        }
        protected override void OnValidateCell(object sender, GridCellValidationEventArgs args)
        {
            GridItem item = (GridItem)this.gridControl.SelectedItem;

            if (item == null)
            {
                item = (GridItem)this.gridControl.CurrentItem;
            }
            if (item != null)
            {
                ColumnBase   col      = args.Column;
                GrilleColumn column   = this.Grille.GetColumn(col.FieldName);
                string       oldValue = item.Datas[column.position] != null ? item.Datas[column.position].ToString() : "";
                string       newValue = args.Value != null?args.Value.ToString() : "";

                if (!IsEditionValid(item, column, oldValue, newValue, args))
                {
                    args.Handled = true;
                    args.IsValid = false;
                    return;
                }

                GrilleEditedElement element = new GrilleEditedElement();
                element.column     = column;
                element.oid        = item.GetOid();
                element.value      = new Kernel.Domain.Browser.BrowserData();
                element.value.name = newValue;
                if (this.EditEventHandler != null)
                {
                    GrilleEditedResult result = EditEventHandler(element);
                    if (result.isError)
                    {
                        args.Handled      = true;
                        args.IsValid      = false;
                        args.ErrorContent = result.error;
                        return;
                    }
                    else
                    {
                        if (result.datas == null)
                        {
                            args.Handled = true;
                        }
                        else
                        {
                            item.Datas = result.datas;
                        }
                        Refresh();
                    }
                }
            }
        }
Exemplo n.º 8
0
        public GrilleRelationshipItem Fill()
        {
            GrilleColumn column = (GrilleColumn)this.comboBox.SelectedItem;

            if (this.RelationshipItem == null)
            {
                this.RelationshipItem = new GrilleRelationshipItem();
            }
            this.RelationshipItem.position  = Index;
            this.RelationshipItem.primary   = IsPrimary;
            this.RelationshipItem.exclusive = this.checkBox.IsChecked.Value;
            this.RelationshipItem.column    = column;
            return(this.RelationshipItem);
        }
Exemplo n.º 9
0
        private GrilleColumnFilter buildColumnFilter(String link, String name, String operation, String value)
        {
            GrilleColumn column = this.Grille.GetColumn(name);

            if (column != null)
            {
                GrilleColumnFilter filter = new GrilleColumnFilter();
                filter.column          = column;
                filter.filterOperation = link;
                filter.filterOperator  = operation;
                filter.filterValue     = value;
                return(filter);
            }
            return(null);
        }
        private void OnSelectedColumnChanged(object sender, SelectionChangedEventArgs e)
        {
            if (!throwEvent)
            {
                return;
            }
            GrilleColumn column = (GrilleColumn)this.ColumnsListBox.SelectedItem;

            FillActiveColumn();
            ColumnForms.Display(column);
            if (selectionColumnChanged != null)
            {
                selectionColumnChanged(column);
            }
        }
        public void SelecteColumn(Kernel.Ui.Office.Cell activeCell)
        {
            if (activeCell == null)
            {
                return;
            }
            int col = activeCell.Column;

            if (this.Grid == null)
            {
                return;
            }
            GrilleColumn column = this.Grid.GetColumn(col);

            ColumnForms.Display(column);
        }
        public void SetListValue(List <Measure> values)
        {
            int          col    = this.Grid.columnListChangeHandler.Items.Count + 1;
            GrilleColumn column = ColumnForms.Column;

            foreach (Measure value in values)
            {
                column            = new GrilleColumn();
                column.isModified = false;
                column.isAdded    = false;
                column.position   = col++;
                column.SetValue(value);
                this.Grid.AddColumn(column);
            }
            ColumnForms.Display(column);
            OnColumnChanged(true);
        }
Exemplo n.º 13
0
 private void OnSort(object columnName)
 {
     if (this.Grille != null && columnName != null)
     {
         GrilleColumn column = this.Grille.GetColumn(columnName.ToString());
         if (column != null)
         {
             bool orderAsc = column.orderAsc.HasValue && column.orderAsc.Value;
             OnClearSort();
             column.orderAsc = !orderAsc;
         }
         if (SortEventHandler != null)
         {
             SortEventHandler(column);
         }
     }
 }
        protected override GridColumn getColumn(GrilleColumn grilleColumn, bool readOnly = false)
        {
            DevExpress.Xpf.Grid.GridColumn column = new DevExpress.Xpf.Grid.GridColumn();
            column.FieldName        = grilleColumn.name;
            column.IsSmart          = true;
            column.ReadOnly         = this.IsReadOnly || this.Grille.IsReadOnly() || readOnly;
            column.ColumnFilterMode = ColumnFilterMode.DisplayText;
            Binding b = new Binding(getBindingName(grilleColumn));

            b.Mode         = BindingMode.TwoWay;
            column.Binding = b;

            column.Style = this.gridControl.FindResource("GridColumn") as Style;
            column.Width = new GridColumnWidth(1, GridColumnUnitType.Star);

            setColumnEditSettings(column, grilleColumn, readOnly);

            return(column);
        }
Exemplo n.º 15
0
        public void Display(GrilleColumn column)
        {
            throwChange = false;
            this.Column = column;
            if (this.Column == null)
            {
                this.Column = GetNewColumn();
            }
            if (this.Column.oid.HasValue)
            {
                this.Column.isAdded = true;
            }
            String colName = Kernel.Util.RangeUtil.GetColumnName(this.Column.position);

            ColumnTextBox.Text     = colName;
            TypeTextBox.Text       = this.Column.type != null ? this.Column.type : "";
            NameTextBox.Text       = this.Column.name != null ? this.Column.name : "";
            ShowCheckBox.IsChecked = this.Column.show;
            this.ModifyThisColumn  = false;
            throwChange            = true;
        }
 public override void buildColumns(Grille grille)
 {
     if (grille is LinkedAttributeGrid)
     {
         LinkedAttributeGrid grid = (LinkedAttributeGrid)grille;
         this.Grille = grid;
         buildGrid();
         int          position = 0;
         GrilleColumn column   = new GrilleColumn(grid.attribute, position++);
         grid.AddColumn(column);
         this.AddColumn(column, grid.attribute.incremental);
         foreach (Kernel.Domain.Attribute attribute in grid.attribute.childrenListChangeHandler.Items)
         {
             column = new GrilleColumn(attribute, position++);
             grid.AddColumn(column);
             this.AddColumn(column, attribute.incremental);
         }
         this.Children.Add(this.gridControl);
         RebuildGrid = false;
     }
 }
Exemplo n.º 17
0
        private void OnEndSorting(object sender, RoutedEventArgs e)
        {
            if (allowSort && this.Grille != null && gridControl.SortInfo != null)
            {
                OnClearSort();
                foreach (GridSortInfo info in gridControl.SortInfo)
                {
                    GrilleColumn column = this.Grille.GetColumn(info.FieldName);
                    if (column != null)
                    {
                        column.orderAsc = info.SortOrder.Equals(ListSortDirection.Ascending);
                    }
                }

                if (allowSort && SortEventHandler != null)
                {
                    allowSort = false;
                    SortEventHandler(null);
                }
                allowSort = true;
            }
        }
Exemplo n.º 18
0
        private bool OnItemChanged(object item)
        {
            RelationshipItemPanel panel = (RelationshipItemPanel)item;

            if (this.Relationship == null)
            {
                this.Relationship = GetNewRelationship();
            }
            if (ValidateSelection(panel))
            {
                bool         isNew     = panel.RelationshipItem == null;
                GrilleColumn oldColumn = isNew ? null : panel.RelationshipItem.column;
                panel.Fill();
                if (isNew)
                {
                    this.Relationship.AddItem(panel.RelationshipItem);
                }
                else
                {
                    this.Relationship.UpdateItem(panel.RelationshipItem);
                }
                OnChanged(panel.RelationshipItem, isNew);

                if (panel.RelationshipItem.primary)
                {
                    this.Grid.RelatedColumnsDataSource.Remove(panel.RelationshipItem.column);
                    this.Grid.RelatedColumnsDataSource.Add(oldColumn);
                }
                else
                {
                    this.Grid.PrimaryColumnsDataSource.Remove(panel.RelationshipItem.column);
                    this.Grid.PrimaryColumnsDataSource.Add(oldColumn);
                }

                return(true);
            }
            return(false);
        }
Exemplo n.º 19
0
        protected virtual GridColumn getColumn(GrilleColumn grilleColumn, bool readOnly = false)
        {
            DevExpress.Xpf.Grid.GridColumn column = new DevExpress.Xpf.Grid.GridColumn();
            column.FieldName        = grilleColumn.name;
            column.IsSmart          = true;
            column.ReadOnly         = this.IsReadOnly || this.Grille.IsReadOnly() || readOnly;
            column.ColumnFilterMode = ColumnFilterMode.DisplayText;
            Binding b = new Binding(getBindingName(grilleColumn));

            b.Mode         = BindingMode.TwoWay;
            column.Binding = b;

            setColumnEditSettings(column, grilleColumn, readOnly);

            if (grilleColumn.type.Equals(ParameterType.PERIOD.ToString()) ||
                grilleColumn.type.Equals(ParameterType.MEASURE.ToString()) ||
                grilleColumn.type.Equals(ParameterType.SPECIAL_MEASURE.ToString()))
            {
                column.ColumnFilterMode = ColumnFilterMode.Value;
            }

            return(column);
        }
Exemplo n.º 20
0
        private void OnInputGridPropertiesSelectionColumnChange(object obj)
        {
            InputGridEditorItem page = (InputGridEditorItem)getInputGridEditor().getActivePage();

            if (page == null)
            {
                return;
            }
            if (obj is GrilleColumn)
            {
                GrilleColumn column = (GrilleColumn)obj;

                if (column.type.Equals(ParameterType.SCOPE.ToString()))
                {
                    //Target target = column.scope;
                    //if (target.typeName.Equals(typeof(AttributeValue).Name, StringComparison.OrdinalIgnoreCase))
                    //{
                    //    Kernel.Domain.AttributeValue value = GetInputGridService().ModelService.getAttributeValue(target.oid.Value, target.name);
                    //   column.SetValue(value);
                    //   page.getInputGridForm().InputGridSheetForm.InputGridPropertiesPanel.ColumnForms.Display(column);
                    //}

                    //if (target.typeName.Equals(typeof(Misp.Kernel.Domain.Attribute).Name, StringComparison.OrdinalIgnoreCase))
                    //{
                    //    Misp.Kernel.Domain.Attribute value = GetInputGridService().ModelService.getAttributeByOid(target.oid.Value);
                    //    column.SetValue(value);
                    //    page.getInputGridForm().InputGridSheetForm.InputGridPropertiesPanel.ColumnForms.Display(column);
                    //}
                    //if (target.typeName.Equals(typeof(Entity).Name, StringComparison.OrdinalIgnoreCase))
                    //{
                    //    Misp.Kernel.Domain.Entity value = GetInputGridService().ModelService.getEntityByOid(target.oid.Value);
                    //    column.SetValue(value);
                    //    page.getInputGridForm().InputGridSheetForm.InputGridPropertiesPanel.ColumnForms.Display(column);
                    //}
                }
            }
        }
Exemplo n.º 21
0
        protected virtual void setColumnEditSettings(GridColumn column, GrilleColumn grilleColumn, bool readOnly = false)
        {
            if (grilleColumn.type.Equals(ParameterType.MEASURE.ToString()))
            {
                TextEditSettings settings = new TextEditSettings();
                settings.DisplayFormat       = "N2";
                settings.ValidateOnTextInput = true;
                settings.AllowNullInput      = true;
                column.EditSettings          = settings;
            }

            if (!this.Grille.report && grilleColumn.type.Equals(ParameterType.SCOPE.ToString()))
            {
                try
                {
                    grilleColumn.values = Service.ModelService.getLeafAttributeValues(grilleColumn.valueOid.Value);
                }
                catch (Exception) { }
                ComboBoxEditSettings combo = new ComboBoxEditSettings();
                combo.ItemsSource         = grilleColumn.Items;
                combo.IsTextEditable      = true;
                combo.ShowText            = true;
                combo.ValidateOnTextInput = true;
                combo.AllowNullInput      = true;
                column.EditSettings       = combo;
            }
            else if (!this.Grille.report && grilleColumn.type.Equals(ParameterType.PERIOD.ToString()))
            {
                DateEditSettings dateSetting = new DateEditSettings();
                dateSetting.IsTextEditable      = true;
                dateSetting.ShowText            = true;
                dateSetting.ValidateOnTextInput = true;
                dateSetting.AllowNullInput      = true;
                column.EditSettings             = dateSetting;
            }
        }
Exemplo n.º 22
0
        private Decimal[] BuildBottomBalance(Grille grid, GridBrowser browser)
        {
            Decimal      credit            = 0;
            Decimal      debit             = 0;
            GrilleColumn leftAmountColumn  = null;
            GrilleColumn rightAmountColumn = null;
            GrilleColumn creditDebitColumn = null;
            Measure      leftMeasure       = this.EditedObject.leftMeasure;
            Measure      rightMeasure      = this.EditedObject.rightMeasure;

            if (leftMeasure != null)
            {
                leftAmountColumn = grid.GetColumn(ParameterType.MEASURE.ToString(), leftMeasure.oid.Value);
            }
            if (rightMeasure != null)
            {
                rightAmountColumn = grid.GetColumn(ParameterType.MEASURE.ToString(), rightMeasure.oid.Value);
            }
            if (leftAmountColumn != null && rightAmountColumn != null)
            {
                String creditValue = "C";
                String debitValue  = "D";
                if (this.EditedObject.useDebitCredit == true)
                {
                    Misp.Kernel.Domain.ReconciliationContext context = ApplicationManager.Instance.ControllerFactory.ServiceFactory.GetReconciliationContextService().getReconciliationContext();
                    if (context != null)
                    {
                        creditValue = context.creditAttributeValue != null ? context.creditAttributeValue.name : "C";
                        debitValue  = context.debitAttributeValue != null ? context.debitAttributeValue.name : "D";
                        if (context.dcNbreAttribute != null)
                        {
                            creditDebitColumn = grid.GetColumn(ParameterType.SCOPE.ToString(), context.dcNbreAttribute.oid.Value);
                        }
                    }
                }
                foreach (object row in browser.gridControl.SelectedItems)
                {
                    if (row is GridItem)
                    {
                        String side = ((GridItem)row).Side;
                        if (string.IsNullOrWhiteSpace(side))
                        {
                            continue;
                        }
                        GrilleColumn amountColumn = side == GridItem.LEFT_SIDE ? leftAmountColumn : rightAmountColumn;
                        if (amountColumn == null)
                        {
                            continue;
                        }
                        Object[] datas  = ((GridItem)row).Datas;
                        Decimal  amount = 0;
                        object   item   = item = datas[amountColumn.position];
                        try
                        {
                            Decimal.TryParse(item.ToString(), out amount);
                        }
                        catch (Exception) { }

                        if (this.EditedObject.useDebitCredit == true)
                        {
                            if (creditDebitColumn == null)
                            {
                                continue;
                            }
                            item = datas[creditDebitColumn.position];
                            Boolean isCredit = item != null && item.ToString().Equals(creditValue, StringComparison.OrdinalIgnoreCase);
                            Boolean isDebit  = item != null && item.ToString().Equals(debitValue, StringComparison.OrdinalIgnoreCase);

                            if (side == GridItem.LEFT_SIDE)
                            {
                                if (isCredit)
                                {
                                    credit += amount;
                                }
                                else if (isDebit)
                                {
                                    credit -= amount;
                                }
                            }
                            else
                            {
                                if (isCredit)
                                {
                                    debit += amount;
                                }
                                else if (isDebit)
                                {
                                    debit -= amount;
                                }
                            }
                        }
                        else
                        {
                            if (side == GridItem.LEFT_SIDE)
                            {
                                credit += amount;
                            }
                            else
                            {
                                debit += amount;
                            }
                        }
                    }
                }
            }
            Decimal[] balances = new Decimal[] { credit, debit };
            return(balances);
        }
Exemplo n.º 23
0
        private List <FormatCondition> BuildFormatConditions(GridBrowser grid, Measure leftMeasure, Measure rightMeasure)
        {
            List <FormatCondition> conditions = new List <FormatCondition>(0);

            if (leftMeasure == null && rightMeasure == null)
            {
                return(conditions);
            }
            if (this.EditedObject.useDebitCredit.Value)
            {
                Misp.Kernel.Domain.ReconciliationContext context = ApplicationManager.Instance.ControllerFactory.ServiceFactory.GetReconciliationContextService().getReconciliationContext();
                if (context != null && context.dcNbreAttribute != null)
                {
                    GrilleColumn creditDebitColumn = grid.Grille.GetColumn(ParameterType.SCOPE.ToString(), context.dcNbreAttribute.oid.Value);
                    if (creditDebitColumn != null)
                    {
                        String debitValue = context.debitAttributeValue != null ? context.debitAttributeValue.name : "D";
                        conditions.Add(new FormatCondition()
                        {
                            ApplyToRow = true,
                            Expression = "[" + creditDebitColumn.name + "] == '" + debitValue + "'",
                            FieldName  = creditDebitColumn.name,
                            Format     = new Format()
                            {
                                Foreground = Brushes.Red
                            }
                        });
                    }
                }
            }
            else
            {
                if (leftMeasure != null)
                {
                    GrilleColumn amountColumn = grid.Grille.GetColumn(ParameterType.MEASURE.ToString(), leftMeasure.oid.Value);
                    if (amountColumn != null)
                    {
                        conditions.Add(new FormatCondition()
                        {
                            ApplyToRow = true,
                            Expression = "[" + amountColumn.name + "] < 0.0",
                            FieldName  = amountColumn.name,
                            Format     = new Format()
                            {
                                Background = Brushes.Red
                            }
                        });
                    }
                }
                if (rightMeasure != null)
                {
                    GrilleColumn amountColumn = grid.Grille.GetColumn(ParameterType.MEASURE.ToString(), rightMeasure.oid.Value);
                    if (amountColumn != null)
                    {
                        conditions.Add(new FormatCondition()
                        {
                            ApplyToRow = true,
                            Expression = "[" + amountColumn.name + "] < 0.0",
                            FieldName  = amountColumn.name,
                            Format     = new Format()
                            {
                                Background = Brushes.Red
                            }
                        });
                    }
                }
            }
            return(conditions);
        }
Exemplo n.º 24
0
 protected String getBindingName(GrilleColumn grilleColumn)
 {
     return("Datas[" + grilleColumn.position + "]");
 }
Exemplo n.º 25
0
 public void AddColumn(GrilleColumn grilleColumn, bool readOnly = false)
 {
     DevExpress.Xpf.Grid.GridColumn column = getColumn(grilleColumn, readOnly);
     gridControl.Columns.Add(column);
 }
Exemplo n.º 26
0
        protected virtual void OnCellValueChanged(object sender, CellValueChangedEventArgs args)
        {
            GridItem item = (GridItem)this.gridControl.SelectedItem;

            if (item == null)
            {
                item = (GridItem)this.gridControl.CurrentItem;
            }
            if (item != null)
            {
                int?         oid      = item.GetOid();
                GridColumn   col      = args.Column;
                GrilleColumn column   = this.Grille.GetColumn(col.FieldName);
                string       oldValue = item.Datas[column.position] != null ? item.Datas[column.position].ToString() : "";
                string       newValue = args.Value != null?args.Value.ToString() : "";

                GrilleEditedElement element = new GrilleEditedElement();
                element.column = column;
                element.oid    = oid;

                //if (newValue.Equals(oldValue)) return;
                if (column.type.Equals(ParameterType.MEASURE.ToString()))
                {
                    decimal val = 0;
                    if (string.IsNullOrWhiteSpace(newValue))
                    {
                        val = 0;
                    }
                    else if (decimal.TryParse(newValue, out val))
                    {
                        element.measure = val;
                    }
                    else if (decimal.TryParse(newValue.Replace(".", ","), out val))
                    {
                        element.measure = val;
                    }
                    else
                    {
                        MessageDisplayer.DisplayError("Wrong measure", "'" + newValue + "'" + " is not a decimal!");
                        args.Handled = true;
                        //args.Value = args.OldValue;
                        return;
                    }
                }
                else if (column.type.Equals(ParameterType.SCOPE.ToString()))
                {
                    if (string.IsNullOrWhiteSpace(newValue))
                    {
                        element.value = null;
                    }
                    else
                    {
                        BrowserData data = column.getValue(newValue);
                        if (!AllowUnknowValueForScope && data == null)
                        {
                            MessageDisplayer.DisplayError("Wrong value", "Unknow value : '" + newValue + "'");
                            args.Handled = true;
                            return;
                        }
                        else
                        {
                            element.value = data;
                        }
                    }
                }
                if (column.type.Equals(ParameterType.PERIOD.ToString()))
                {
                    DateTime date;
                    if (string.IsNullOrWhiteSpace(newValue))
                    {
                        element.date = null;
                    }
                    else if (DateTime.TryParse(newValue, out date))
                    {
                        element.date = date.ToShortDateString();
                    }
                    else
                    {
                        MessageDisplayer.DisplayError("Wrong date", "'" + newValue + "'" + " is not a date!");
                        args.Handled = true;
                        return;
                    }
                }

                if (this.EditEventHandler != null)
                {
                    GrilleEditedResult result = EditEventHandler(element);
                    if (result.isError)
                    {
                        MessageDisplayer.DisplayError("Wrong value", result.error);
                        args.Handled = true;
                        return;
                    }
                    else
                    {
                        if (result.datas == null)
                        {
                            args.Handled = true;
                        }
                        else
                        {
                            item.Datas = result.datas;
                        }
                        Refresh();
                        //this.grid.SelectedItem = item;
                    }
                }
            }
        }