예제 #1
0
        private void OnRowValuesChanged()
        {
            if (AssociatedObject == null)
            {
                return;
            }
            if (RowValues == null)
            {
                return;
            }
            _journalDataTable = RowValues;

            AssociatedObject.Columns.Clear();

            int index = 0;

            if (IsTransponed)
            {
                if (_journalDataTable.IsBaseNumeration && _journalDataTable.RowHeadersStrings != null)
                {
                    AssociatedObject.Columns.Add(CreateGridTemplateColumn(index++, "#"));
                }

                AssociatedObject.Columns.Add(CreateGridTemplateColumn(index++, ""));
                if (_journalDataTable.RowHeadersStrings != null)
                {
                    foreach (string rowHeadersString in _journalDataTable.RowHeadersStrings)
                    {
                        AssociatedObject.Columns.Add(CreateGridTemplateColumn(index, rowHeadersString));
                        index++;
                    }
                }
            }
            else
            {
                if (_journalDataTable.RowHeadersStrings != null)
                {
                    AssociatedObject.Columns.Add(CreateGridTemplateColumn(index++, ""));
                }

                if ((_journalDataTable.ColumnNamesStrings != null) && (_journalDataTable.IsBaseNumeration))
                {
                    AssociatedObject.Columns.Add(CreateGridTemplateColumn(index++, "№"));
                }

                if (_journalDataTable.ColumnNamesStrings != null)
                {
                    foreach (string columnName in _journalDataTable.ColumnNamesStrings)
                    {
                        AssociatedObject.Columns.Add(CreateGridTemplateColumn(index, columnName));
                        index++;
                    }
                }
            }

            _journalDataTable.TableUpdateAction = OnRowValuesChanged;
        }
예제 #2
0
        private void OnRowValuesChanged()
        {
            if (AssociatedObject == null)
            {
                return;
            }
            if (RowValues == null)
            {
                return;
            }
            _journalDataTable = RowValues;


            if (IsTransponed)
            {
                if (_journalDataTable.ColumnNamesStrings != null)
                {
                    _collection = new ObservableCollection <List <ILocalAndDeviceValueContainingViewModel> >();

                    int rowIndex = 0;
                    foreach (string columnNameString in _journalDataTable.ColumnNamesStrings)
                    {
                        List <ILocalAndDeviceValueContainingViewModel> localAndDeviceValueContainingViewModels =
                            new List <ILocalAndDeviceValueContainingViewModel>();
                        _journalDataTable.Values.ForEach((list =>
                        {
                            if (list.Count > rowIndex)
                            {
                                localAndDeviceValueContainingViewModels.Add(list[rowIndex]);
                            }
                        }));

                        rowIndex++;
                        InsertRow(localAndDeviceValueContainingViewModels);
                    }
                }

                AssociatedObject.ItemsSource = _collection;
            }
            else
            {
                _collection = new ObservableCollection <List <ILocalAndDeviceValueContainingViewModel> >();

                AssociatedObject.ItemsSource = _collection;
                _journalDataTable.Values.ForEach((list => { InsertRow(list); }));
            }

            _journalDataTable.FormattedValueViewModelAddedAction = InsertRow;
            _journalDataTable.TableUpdateAction = OnRowValuesChanged;
        }
        private void OnRowValuesChanged()
        {
            if (AssociatedObject == null)
            {
                return;
            }
            if (RowValues == null)
            {
                return;
            }
            _journalDataTable = RowValues;

            AssociatedObject.Columns.Clear();

            int index = 0;

            if (IsTransponed)
            {
                if (_journalDataTable.IsBaseNumeration && _journalDataTable.RowHeadersStrings != null)
                {
                    AssociatedObject.Columns.Add(CreateGridTemplateColumn(index++, "#"));
                }

                AssociatedObject.Columns.Add(CreateGridTemplateColumn(index++, ""));
                if (_journalDataTable.RowHeadersStrings != null)
                {
                    foreach (string rowHeadersString in _journalDataTable.RowHeadersStrings)
                    {
                        AssociatedObject.Columns.Add(CreateGridTemplateColumn(index, rowHeadersString));
                        index++;
                    }
                }


                if (_journalDataTable.ColumnNamesStrings != null)
                {
                    _collection = new ObservableCollection <List <ILocalAndDeviceValueContainingViewModel> >();

                    int rowIndex = 0;
                    foreach (string columnNameString in _journalDataTable.ColumnNamesStrings)
                    {
                        List <ILocalAndDeviceValueContainingViewModel> localAndDeviceValueContainingViewModels =
                            new List <ILocalAndDeviceValueContainingViewModel>();
                        _journalDataTable.Values.ForEach((list =>
                        {
                            if (list.Count > rowIndex)
                            {
                                localAndDeviceValueContainingViewModels.Add(list[rowIndex]);
                            }
                        }));

                        rowIndex++;
                        InsertRow(localAndDeviceValueContainingViewModels);
                    }
                }

                AssociatedObject.ItemsSource = _collection;
            }
            else
            {
                if (_journalDataTable.RowHeadersStrings != null)
                {
                    AssociatedObject.Columns.Add(CreateGridTemplateColumn(index++, ""));
                }

                if ((_journalDataTable.ColumnNamesStrings != null) && (_journalDataTable.IsBaseNumeration))
                {
                    AssociatedObject.Columns.Add(CreateGridTemplateColumn(index++, "№"));
                }

                if (_journalDataTable.ColumnNamesStrings != null)
                {
                    foreach (string columnName in _journalDataTable.ColumnNamesStrings)
                    {
                        AssociatedObject.Columns.Add(CreateGridTemplateColumn(index, columnName));
                        index++;
                    }
                }

                _collection = new ObservableCollection <List <ILocalAndDeviceValueContainingViewModel> >();

                AssociatedObject.ItemsSource = _collection;
                _journalDataTable.Values.ForEach((list => { InsertRow(list); }));
            }

            _journalDataTable.FormattedValueViewModelAddedAction = InsertRow;
            _journalDataTable.TableUpdateAction = OnRowValuesChanged;
        }