Пример #1
0
        PM_Size drawableSurface()
        {
            PM_Size _s = new PM_Size(this.ActualHeight, this.ActualWidth);

            if (__showVScrollBar)
            {
                _s.width -= __scrollBarsWidth;
            }
            if (__showHScrollBar)
            {
                _s.height -= __scrollBarsWidth;
            }
            return(_s);
        }
Пример #2
0
        private void renderContent()
        {
            double        _heightdelta = 0;
            double        _widthdelta  = 0;
            PM_GridRow    _pmRow;
            PM_GridColumn _pmColumn;
            int           _firstVisualColumn = 0;
            int           _visualRow         = 0;
            int           _visualColumn      = 0;

            PM_Size _size = drawableSurface();

            bool _showVHeaders = (__vHeaderVisible == true && __vHeadersWidth > 0);
            bool _showHHeaders = (__hHeaderVisible == true && __hHeadearsHeight > 0);

            bool _columnsDefinitionsDisplayed = false;

            detachDisplayedControls();

            if (_showVHeaders)
            {
                _widthdelta        = addColumnDefinition(__vHeadersWidth);
                _firstVisualColumn = 1;
            }

            if (_showHHeaders)
            {
                _heightdelta = addRowDefinition(__hHeadearsHeight);
                _visualRow   = 1;
            }

            _visualColumn = _firstVisualColumn;

            for (int _i = (int)__vScrollBar.Value; _i < rowCount; _i++)
            {
                if (_heightdelta <= _size.height)
                {
                    _pmRow = __model.row(_i);
                    if (_pmRow == null || _pmRow.visibility == Visibility.Hidden)
                    {
                        continue;
                    }

                    _heightdelta += addRowDefinition(_pmRow.height);
                    if (_showVHeaders)
                    {
                        _pmRow.header = header(_pmRow.header, _i);
                        setControlToGrid(0, _visualRow, new cellInfo(_pmRow.header, 0, _i));
                    }

                    for (int _j = (int)__hScrollBar.Value; _j < columnCount; _j++)
                    {
                        if (_widthdelta <= _size.width)
                        {
                            _pmColumn = __model.column(_j);
                            if (_pmColumn == null || _pmColumn.visibility == Visibility.Hidden)
                            {
                                continue;
                            }

                            if (!_columnsDefinitionsDisplayed)
                            {
                                addColumnDefinition(_pmColumn.width);
                                if (_showHHeaders)
                                {
                                    _pmColumn.header = header(_pmColumn.header, _j);
                                    setControlToGrid(_visualColumn, 0, new cellInfo(_pmColumn.header, _j, 0));
                                }
                            }

                            PM_GridCell _cell = _pmRow.cell(_j);
                            setControlToGrid(_visualColumn, _visualRow, new cellInfo(_cell, _j, _i));

                            _widthdelta += _pmColumn.width;
                            ++_visualColumn;
                        }
                        else
                        {
                            break;
                        }
                    }
                    _columnsDefinitionsDisplayed = true;

                    _visualColumn = _firstVisualColumn;
                    ++_visualRow;

                    _widthdelta = (_showHHeaders) ? __vHeadersWidth : 0;
                }
            }
            _showVHeaders = false;
        }