Beispiel #1
0
        void OnMouseDown(object sender, MouseEventArgs e)
        {
            GridHitInfo hitInfo = view.CalcHitInfo(e.Location);

            if (e.Button == MouseButtons.Left && HotTrackRectangle.Contains(e.Location))
            {
                if ((SingleClick && e.Clicks == 1) || (!SingleClick && e.Clicks == 2))
                {
                    view.FocusedRowHandle = hitInfo.RowHandle;
                    GridViewInfo viewInfo = view.GetViewInfo() as GridViewInfo;
                    GridColumn   col      = viewInfo.GetNearestColumn(e.Location);
                    ShowGroupEditor(col);
                    DXMouseEventArgs.GetMouseArgs(e).Handled = true;
                }
            }
        }
        RectangleF GetColumnHeaderBounds(MyGridView view, MyGridColumn col)
        {
            GridViewInfo viewInfo = view.GetViewInfo() as GridViewInfo;

            if (viewInfo.IsReady && !viewInfo.IsDataDirty)
            {
                foreach (GridColumnInfoArgs info in viewInfo.ColumnsInfo)
                {
                    if (info.Column == col)
                    {
                        return(info.Bounds);
                    }
                }
            }
            return(RectangleF.Empty);
        }
        public int CalcGridHeight()
        {
            int          height = 0;
            GridViewInfo info   = (this.MainView as MyGridView).GetViewInfo() as GridViewInfo;

            height = info.CalcRealViewHeight(new Rectangle(0, 0, this.Width, 100000));
            if (height < ScrollableContainer.Height)
            {
                Dock = DockStyle.Fill;
            }
            else
            {
                Dock = DockStyle.Top;
            }
            return(height);
        }
        int getSumHeightRows()
        {
            int          total = 0;
            GridViewInfo vi    = grvData.GetViewInfo() as GridViewInfo;

            for (int i = 0; i < grvData.RowCount; i++)
            {
                GridRowInfo ri = vi.RowsInfo.FindRow(i);
                if (ri != null)
                {
                    total += ri.Bounds.Height;
                }
            }

            return(total);
        }
Beispiel #5
0
        private void gridView1_MouseDown(object sender, MouseEventArgs e)
        {
            Point p;
            int   ri, ci;

            GridHitInfo ghi = GridView.CalcHitInfo(e.Location);

            if (ghi.Column.AbsoluteIndex != 1)
            {
                return;
            }

            ri = ghi.RowHandle;
            QueryTable       qt       = Query.Tables[ri];
            ContextMenuStrip colPopup = new ContextMenuStrip();

            bool firstLabel = true;

            foreach (QueryColumn qc in qt.QueryColumns)
            {             // get list of allowed field labels/names for each table
                if (!QueryTableControl.QueryColumnVisible(qc) || !qc.MetaColumn.IsSearchable)
                {
                    continue;
                }
                if (firstLabel)
                {
                    firstLabel = false;
                }
                string            label = CriteriaEditor.GetUniqueColumnLabel(qc);
                ToolStripMenuItem mi    = new ToolStripMenuItem(label, null, new System.EventHandler(SelectedField_Click));
                mi.Tag = "T" + (ri + 1);
                colPopup.Items.Add(mi);
            }

            p = e.Location;

            GridViewInfo viewInfo = (GridViewInfo)GridView.GetViewInfo();

            GridCellInfo cellInfo = viewInfo.GetGridCellInfo(ghi.RowHandle, ghi.Column);

            if (cellInfo != null)
            {
                p = new Point(cellInfo.Bounds.Left, cellInfo.Bounds.Bottom);
            }

            colPopup.Show(Instance.TableGrid, p);
        }
        private void grvThongKeHangTon_TopRowChanged(object sender, EventArgs e)
        {
            if (loading)
            {
                return;
            }

            GridViewInfo info = grvThongKeHangTon.GetViewInfo() as GridViewInfo;

            rowNums = info.RowsInfo.Count;

            Debug.Print(grvThongKeHangTon.TopRowIndex.ToString());

            var workerThread = new Thread(FetchTopIndexData);

            workerThread.Start(grvThongKeHangTon.TopRowIndex);
        }
Beispiel #7
0
        private void gridView1_CalcRowHeight(object sender, RowHeightEventArgs e)
        {
            GridView gv = sender as GridView;

            if (gv != null)
            {
                GridViewInfo vi = gv.GetViewInfo() as GridViewInfo;
                if (vi != null)
                {
                    int h = vi.ViewRects.Rows.Height - 1;
                    if (e.RowHeight > h)
                    {
                        e.RowHeight = h;
                    }
                }
            }
        }
        void GridControl_Paint(object sender, PaintEventArgs e)
        {
            //paint empty vertical column(s)
            GridViewInfo vi = gridView1.GetViewInfo() as GridViewInfo;

            using (SolidBrush brush = new SolidBrush(vi.PaintAppearance.Empty.BackColor))
            {
                foreach (GridColumn col in emptyColumns)
                {
                    GridColumnInfoArgs info = vi.ColumnsInfo[col];
                    Rectangle          rect = info.Bounds;
                    rect.Height = vi.ClientBounds.Height - 2;
                    rect.Width -= 1;
                    e.Graphics.FillRectangle(brush, rect);
                }
            }
        }
        private void GridControl_PaintEx(object sender, DevExpress.XtraGrid.PaintExEventArgs e)
        {
            GridViewInfo gvi = View.GetViewInfo() as GridViewInfo;
            GridRowInfo  gri = gvi.RowsInfo.FindRow(ItemRowHandle());

            if (gri == null)
            {
                return;
            }
            Rectangle drawRect = gri.DataBounds;

            drawRect.Height--;

            e.Cache.FillRectangle(gri.Appearance.GetBackBrush(e.Cache), drawRect);
            drawRect.Inflate(-3, -3);
            e.Cache.DrawString(Text, gri.Appearance.Font, gri.Appearance.GetForeBrush(e.Cache), drawRect, gri.Appearance.GetStringFormat());
        }
        private void gridView1_CustomDrawFooter(object sender, DevExpress.XtraGrid.Views.Base.RowObjectCustomDrawEventArgs e)
        {
            e.Painter.DrawObject(e.Info);
            GridView     view = sender as GridView;
            GridViewInfo gvi  = view.GetViewInfo() as GridViewInfo;

            DevExpress.Utils.Drawing.FooterCellInfoArgs info = new DevExpress.Utils.Drawing.FooterCellInfoArgs(e.Cache);
            info.Appearance.Assign(view.PaintAppearance.FooterPanel);
            Rectangle rect = new Rectangle(e.Bounds.X, e.Bounds.Y, view.IndicatorWidth, e.Bounds.Height);

            rect.Inflate(-3, -3);
            info.Bounds      = rect;
            info.DisplayText = string.Format("{0}", view.DataRowCount);
            gvi.Painter.ElementsPainter.FooterCell.DrawObject(info);

            e.Handled = true;
        }
    private int GetColumnBestHeight(GridViewInfo viewInfo, GridColumn column)
    {
        GridColumnInfoArgs ex     = viewInfo.ColumnsInfo[column];
        GraphicsInfo       grInfo = new GraphicsInfo();

        grInfo.AddGraphics(null);
        ex.Cache = grInfo.Cache;
        bool canDrawMore = true;
        Size captionSize = CalcCaptionTextSize(grInfo.Cache, ex as HeaderObjectInfoArgs, column.GetCaption());
        Size res         = ex.InnerElements.CalcMinSize(grInfo.Graphics, ref canDrawMore);

        res.Height = Math.Max(res.Height, captionSize.Height);
        res.Width += captionSize.Width;
        res        = viewInfo.Painter.ElementsPainter.Column.CalcBoundsByClientRectangle(ex, new Rectangle(Point.Empty, res)).Size;
        grInfo.ReleaseGraphics();
        return(res.Height);
    }
Beispiel #12
0
        private void bidGridView_CustomDrawCell(object sender, RowCellCustomDrawEventArgs e)
        {
            if (e.Column == this.gcAmount2)
            {
                GridViewInfo   gvi = (GridViewInfo)this.bidGridView.GetViewInfo();
                GridRowInfo    gri = gvi.GetGridRowInfo(e.RowHandle);
                OrderBookEntry ee  = (OrderBookEntry)this.bidGridView.GetRow(e.RowHandle);
                if (ee == null)
                {
                    return;
                }

                int height = ScaleUtils.ScaleValue(3);
                int width  = (int)(gri.Bounds.Width * ee.VolumePercent + 0.5f);
                e.Cache.FillRectangle(Color.FromArgb(0x20, Exchange.BidColor), new Rectangle(gri.Bounds.Right - width, gri.Bounds.Y, width, gri.Bounds.Height));
            }
        }
Beispiel #13
0
 void OnNotUploadData()
 {
     if (_ctsSetupColumnsDone != null)
     {
         _ctsSetupColumnsDone.Cancel();
     }
     Invoke((EventHandler) delegate {
         if (!chkBoxShowData.Checked)
         {
             labelMESInfo.ForeColor = Color.Red;
             labelMESInfo.Text      = "因OBD检测不合格,故数据不上传";
         }
         GridViewInfo.Invalidate();
         GridViewECUInfo.Invalidate();
         GridViewIUPR.Invalidate();
     });
 }
Beispiel #14
0
        private void ShowData()
        {
            gcShow.DataSource         = dt;
            gvShow.Columns[0].Visible = false;
            try
            {
                gvShow.Columns["PICTURE"].Visible = false;
            }
            catch { }
            gvShow.OptionsView.ColumnAutoWidth = false;
            gvShow.BestFitColumns();
            GridViewInfo viewInfo = gvShow.GetViewInfo() as GridViewInfo;

            if (viewInfo.ViewRects.ColumnTotalWidth < viewInfo.ViewRects.ColumnPanelWidth)
            {
                gvShow.OptionsView.ColumnAutoWidth = true;
            }
        }
        private void simpleButton1_Click(object sender, EventArgs e)
        {
            listBoxControl1.Items.Clear();
            GridViewInfo          vi = gridView1.GetViewInfo() as GridViewInfo;
            GridRowInfoCollection screenRowCollection     = vi.RowsInfo;
            GridColumnsInfo       screenColumnwCollection = vi.ColumnsInfo;

            foreach (GridRowInfo ri in screenRowCollection)
            {
                foreach (GridColumnInfoArgs ci in screenColumnwCollection)
                {
                    if (ci.Column != null)
                    {
                        listBoxControl1.Items.Add((gridView1.GetRowCellValue(ri.RowHandle, ci.Column).ToString()));
                    }
                }
            }
        }
Beispiel #16
0
        AppearanceObject GetCellAppearance(int gridRowHandle, GridColumn gridColumn)
        {
            GridViewInfo viewInfo = view.GetViewInfo() as GridViewInfo;
            GridCellInfo cellInfo = viewInfo.GetGridCellInfo(gridRowHandle, gridColumn);

            if (cellInfo == null)
            {
                cellInfo = new GridCellInfo(new GridColumnInfoArgs(gridColumn), new GridDataRowInfo(viewInfo, gridRowHandle, view.GetRowLevel(gridRowHandle)), Rectangle.Empty);
            }
            MethodInfo me = viewInfo.GetType().GetMethod("UpdateCellAppearance", BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.DeclaredOnly);

            if (me != null)
            {
                me.Invoke(viewInfo, new object[] { cellInfo, true });
            }
            viewInfo.UpdateCellAppearance(cellInfo);
            return(cellInfo.Appearance);
        }
Beispiel #17
0
 public int GetRowHeight()
 {
     if (_GridViewType == GridViewType.GridView || _GridViewType == GridViewType.BandedGridView || _GridViewType == GridViewType.AdvBandedGridView)
     {
         GridViewInfo viewInfo             = (MainView as GridView).GetViewInfo() as GridViewInfo;
         const int    GridControlMaxHeight = 30000;
         int          height = viewInfo.CalcRealViewHeight(new Rectangle(0, 0, (MainView as GridView).GridControl.Width, GridControlMaxHeight));
         if (height >= GridControlMaxHeight)
         {
             height = (MainView as GridView).GridControl.Parent.Height;
         }
         return(height);
     }
     else
     {
         return(-1);
     }
 }
        private Rectangle CalcCheckBoxRectangle(GridColumn col)
        {
            GraphicsInfo.Default.AddGraphics(null);
            GridViewInfo       viewInfo   = view.GetViewInfo() as GridViewInfo;
            GridColumnInfoArgs columnArgs = viewInfo.ColumnsInfo[col];
            Rectangle          rect;

            try
            {
                rect = GetCheckBoxRectangle(columnArgs, GraphicsInfo.Default.Graphics);
            }
            finally
            {
                GraphicsInfo.Default.ReleaseGraphics();
            }

            return(rect);
        }
Beispiel #19
0
        public void DrawMergedCell(MyMergedCell cell, PaintEventArgs e)
        {
            int delta = cell.Column1.VisibleIndex - cell.Column2.VisibleIndex;

            if (Math.Abs(delta) > 1)
            {
                return;
            }
            GridViewInfo vi            = View.GetViewInfo() as GridViewInfo;
            GridCellInfo gridCellInfo1 = vi.GetGridCellInfo(cell.RowHandle, cell.Column1);
            GridCellInfo gridCellInfo2 = vi.GetGridCellInfo(cell.RowHandle, cell.Column2);

            if (gridCellInfo1 == null || gridCellInfo2 == null)
            {
                return;
            }
            Rectangle targetRect = Rectangle.Union(gridCellInfo1.Bounds, gridCellInfo2.Bounds);

            gridCellInfo1.Bounds        = targetRect;
            gridCellInfo1.CellValueRect = targetRect;
            gridCellInfo2.Bounds        = targetRect;
            gridCellInfo2.CellValueRect = targetRect;
            if (delta < 0)
            {
                gridCellInfo1 = gridCellInfo2;
            }
            if (gridCellInfo1.ViewInfo == null)   //yjkim modify
            {
                return;
            }
            Rectangle bounds = gridCellInfo1.ViewInfo.Bounds;

            //bounds.Location = new System.Drawing.Point(bounds.Location.X + 1, bounds.Location.Y + 1);
            bounds.Width  = targetRect.Width - 2;
            bounds.Height = targetRect.Height - 2;
            gridCellInfo1.ViewInfo.Bounds = bounds;
            gridCellInfo1.ViewInfo.CalcViewInfo(e.Graphics);
            IsCustomPainting = true;
            GraphicsCache cache = new GraphicsCache(e.Graphics);

            gridCellInfo1.Appearance.FillRectangle(cache, gridCellInfo1.Bounds);
            DrawRowCell(new GridViewDrawArgs(cache, vi, vi.ViewRects.Bounds), gridCellInfo1);
            IsCustomPainting = false;;
        }
Beispiel #20
0
 private void grdViewOC_MouseDown(object sender, MouseEventArgs e)
 {
     if ((Control.ModifierKeys & Keys.Control) != Keys.Control)
     {
         GridView    view = sender as GridView;
         GridHitInfo hi   = view.CalcHitInfo(e.Location);
         if (hi.InRowCell)
         {
             if (hi.Column.RealColumnEdit.GetType() == typeof(RepositoryItemCheckEdit))
             {
                 view.FocusedRowHandle = hi.RowHandle;
                 view.FocusedColumn    = hi.Column;
                 view.ShowEditor();
                 CheckEdit         checkEdit     = view.ActiveEditor as CheckEdit;
                 CheckEditViewInfo checkInfo     = (CheckEditViewInfo)checkEdit.GetViewInfo();
                 Rectangle         glyphRect     = checkInfo.CheckInfo.GlyphRect;
                 GridViewInfo      viewInfo      = view.GetViewInfo() as GridViewInfo;
                 Rectangle         gridGlyphRect =
                     new Rectangle(viewInfo.GetGridCellInfo(hi).Bounds.X + glyphRect.X,
                                   viewInfo.GetGridCellInfo(hi).Bounds.Y + glyphRect.Y,
                                   glyphRect.Width,
                                   glyphRect.Height);
                 if (!gridGlyphRect.Contains(e.Location))
                 {
                     view.CloseEditor();
                     if (!view.IsCellSelected(hi.RowHandle, hi.Column))
                     {
                         view.SelectCell(hi.RowHandle, hi.Column);
                     }
                     else
                     {
                         view.UnselectCell(hi.RowHandle, hi.Column);
                     }
                 }
                 else
                 {
                     checkEdit.Checked = !checkEdit.Checked;
                     view.CloseEditor();
                 }
                 (e as DevExpress.Utils.DXMouseEventArgs).Handled = true;
             }
         }
     }
 }
 void RefreshAppearance(GridViewInfo viewInfo, GridRowInfo rowInfo, GridColumn column)
 {
     if (column != null)
     {
         GridDataRowInfo dataRow = rowInfo as GridDataRowInfo;
         if (dataRow != null)
         {
             var cell = dataRow.Cells[column];
             if (cell != null)
             {
                 cell.State = DevExpress.XtraGrid.Views.Base.GridRowCellState.Dirty;
             }
         }
     }
     else
     {
         rowInfo.SetDataDirty();
     }
 }
        public Bitmap GetRowDragBitmap(int rowHandle)
        {
            Bitmap       bmpView     = null;
            Bitmap       bmpRow      = null;
            GridViewInfo info        = _view.GetViewInfo() as GridViewInfo;
            Rectangle    totalBounds = info.Bounds;
            GridRowInfo  ri          = info.GetGridRowInfo(rowHandle);
            Rectangle    imageBounds = new Rectangle(new Point(0, 0), ri.Bounds.Size);

            try
            {
                bmpView = new Bitmap(totalBounds.Width, totalBounds.Height);
                using (Graphics gView = Graphics.FromImage(bmpView))
                {
                    using (XtraBufferedGraphics grView = XtraBufferedGraphicsManager.Current.Allocate(gView, new Rectangle(Point.Empty, bmpView.Size)))
                    {
                        Color color = ri.Appearance.BackColor == Color.Transparent ? Color.White : ri.Appearance.BackColor;
                        grView.Graphics.Clear(color);
                        IntPtr           handle    = View.GridControl.Handle;
                        DXPaintEventArgs paintArgs = new DXPaintEventArgs(new PaintEventArgs(grView.Graphics, totalBounds), handle);
                        DevExpress.Utils.Drawing.GraphicsCache cache = new DevExpress.Utils.Drawing.GraphicsCache(paintArgs);
                        GridViewDrawArgs args = new GridViewDrawArgs(cache, info, totalBounds);
                        DrawRow(args, ri);
                        grView.Graphics.FillRectangle(args.Cache.GetSolidBrush(Color.Transparent), ri.Bounds);
                        grView.Render();
                        bmpRow = new Bitmap(ri.Bounds.Width, ri.Bounds.Height);
                        using (Graphics gRow = Graphics.FromImage(bmpRow))
                        {
                            using (XtraBufferedGraphics grRow = XtraBufferedGraphicsManager.Current.Allocate(gRow, new Rectangle(Point.Empty, bmpRow.Size)))
                            {
                                grRow.Graphics.Clear(color);
                                grRow.Graphics.DrawImage(bmpView, imageBounds, ri.Bounds, GraphicsUnit.Pixel);
                                grRow.Render();
                            }
                        }
                    }
                }
            }
            catch
            {
            }
            return(bmpRow);
        }
        protected virtual void grv_TopRowChanged <T>(object sender, EventArgs e, IList <T> ListData, string query, SqlParameter[] parameters) where T : class, new()
        {
            GridView           view        = sender as GridView;
            GridViewInfo       vi          = view.GetViewInfo() as GridViewInfo;
            List <GridRowInfo> lstRowsInfo = new List <GridRowInfo>(vi.RowsInfo.Where(x => x.VisibleIndex != -1));

            for (int i = lstRowsInfo.Count - 1; i >= 0; i--)
            {
                if (view.IsRowVisible(lstRowsInfo[i].VisibleIndex) != RowVisibleState.Visible || view.IsNewItemRow(lstRowsInfo[i].VisibleIndex))
                {
                    lstRowsInfo.RemoveAt(i);
                }
            }
            int LastRow  = GetGridViewLastRow(view);
            int RowCount = ListData.Count - 1;

            //if (LastRow == RowCount)
            //    clsFunction<T>.Instance.SelectAsync(this, view.GridControl, ListData, query, parameters);
        }
Beispiel #24
0
        protected override void DrawRegularRow(GridViewDrawArgs e, GridDataRowInfo ri)
        {
            base.DrawRegularRow(e, ri);
            if (ri.IsMasterRow && ri.MasterRowExpanded)
            {
                GridView detailView = View.GetDetailView(ri.RowHandle, 0) as GridView;
                if (detailView == null)
                {
                    return;
                }

                int   level = 0;
                Point p1;
                Point p2;

                GridCellInfo cell = ri.Cells[View.VisibleColumns[0]];
                int          center;
                if (cell != null)
                {
                    center = cell.CellButtonRect.Left + cell.CellButtonRect.Width / 2;
                }
                else
                {
                    center = ri.DetailIndentBounds.Left + ri.DetailIndentBounds.Width / 2;
                }

                GridViewInfo detailViewInfo = (GridViewInfo)detailView.GetViewInfo();
                foreach (GridRowInfo rowInfo in detailViewInfo.RowsInfo)
                {
                    if (detailView.IsRowVisible(rowInfo.RowHandle) != RowVisibleState.Visible)
                    {
                        continue;
                    }
                    level = rowInfo.Bounds.Top + rowInfo.Bounds.Height / 2;
                    p1    = new Point(center, level);
                    p2    = new Point(ri.DetailIndentBounds.Right, level);
                    e.Cache.DrawLine(Pens.Black, p1, p2);
                }
                p1 = new Point(center, ri.DetailIndentBounds.Top);
                p2 = new Point(center, level);
                e.Cache.DrawLine(Pens.Black, p1, p2);
            }
        }
Beispiel #25
0
 private void gridView1_KeyDown(object sender, KeyEventArgs e)
 {
     //if (e.KeyData == (Keys.Control| Keys.R))
     //{
     //    _iSearch = 0;
     //}
     //if (!IsDieuXe)
     //{
     //    if (e.KeyData == Keys.Enter)
     //    {
     //        GridEnter();
     //    }
     //    //else if (e.KeyData == Keys.D1 || e.KeyData == Keys.NumPad1)
     //    //{
     //    //    _iSearch = 0;
     //    //    GridDaDonDuocKhach();
     //    //}
     //    return;
     //}
     if (e.KeyData == Keys.Enter)
     {
         GridEnter();
     }
     if (e.KeyData == Keys.Apps)
     {
         GridViewInfo info = (GridViewInfo)gridView_Bookings.GetViewInfo();
         GridCellInfo cell = info.GetGridCellInfo(gridView_Bookings.FocusedRowHandle, gridView_Bookings.FocusedColumn);
         if (cell != null && cell.Bounds != null)
         {
             cMenu.Show(shGridControl_Bookings, cell.Bounds.X + cell.Column.Width / 2, cell.Bounds.Y + cell.RowInfo.RowLineHeight / 2);
         }
     }
     //else if (e.KeyData == Keys.Delete)
     //{
     //    //_iSearch = 0;
     //    //GridDelete();
     //}
     //else if (e.KeyData == Keys.D1 || e.KeyData == Keys.NumPad1)
     //{
     //    _iSearch = 0;
     //    GridDaDonDuocKhach();
     //}
 }
Beispiel #26
0
        private int GetColumnBestHeight(GridViewInfo viewInfo, GridColumn column, int height)
        {
            GridColumnInfoArgs ex = viewInfo.ColumnsInfo[column];

            if (ex == null)
            {
                viewInfo.GInfo.AddGraphics(null);
                ex = new GridColumnInfoArgs(viewInfo.GInfo.Cache, null);
                try
                {
                    ex.InnerElements.Add(new DrawElementInfo(new GlyphElementPainter(),
                                                             new GlyphElementInfoArgs(viewInfo.View.Images, 0, null),
                                                             StringAlignment.Near));
                    if (viewInfo.View.CanShowFilterButton(null))
                    {
                        ex.InnerElements.Add(viewInfo.Painter.ElementsPainter.FilterButton, new GridFilterButtonInfoArgs());
                    }
                    ex.SetAppearance(viewInfo.PaintAppearance.HeaderPanel);
                    ex.Caption     = column.Caption;
                    ex.CaptionRect = new Rectangle(0, 0, column.Width - 20, 17);
                }
                finally
                {
                    viewInfo.GInfo.ReleaseGraphics();
                }
            }
            GraphicsInfo grInfo = new GraphicsInfo();

            grInfo.AddGraphics(null);
            ex.Cache = grInfo.Cache;
            bool canDrawMore = true;
            Size captionSize = CalcCaptionTextSize(grInfo.Cache, ex as HeaderObjectInfoArgs, column.GetCaption());
            Size res         = ex.InnerElements.CalcMinSize(grInfo.Graphics, ref canDrawMore);

            //res.Height = Math.Max(res.Height, captionSize.Height);
            res.Height = height;
            res.Width += captionSize.Width;
            //res = viewInfo.Painter.ElementsPainter.Column.CalcBoundsByClientRectangle(ex, new Rectangle(Point.Empty, res)).Size;
            //res =new Size(180, 33);
            grInfo.ReleaseGraphics();
            return(res.Height);
        }
        private void CopyCells(IOrderedEnumerable <IGrouping <Int32, GridCell> > rows, RichEditDocumentServer srv, Table table)
        {
            GridViewInfo viewInfo = (GridViewInfo)gridView1.GetViewInfo();
            int          i        = 1;

            foreach (var row in rows)
            {
                row.OrderBy(z => z.Column.VisibleIndex);
                int j = 0;
                foreach (var c in row)
                {
                    TableCell cell = GetCell(table, i, j);
                    srv.Document.InsertText(cell.Range.Start, gridView1.GetRowCellDisplayText(c.RowHandle, c.Column));
                    GridCellInfo gridCellInfo = GetGridCellInfo(viewInfo, c);
                    cell.BackgroundColor = gridCellInfo.Appearance.BackColor;
                    j++;
                }
                i++;
            }
        }
        private void gridView1_CalcRowHeight(object sender, DevExpress.XtraGrid.Views.Grid.RowHeightEventArgs e)
        {
            if (((sender as GridView)).IsGroupRow(e.RowHandle))
            {
                GridViewInfo viewInfo = (sender as GridView).GetViewInfo() as GridViewInfo;

                // height indents calculating
                int singleLineTextHeight = viewInfo.PaintAppearance.GroupRow.CalcTextSizeInt(viewInfo.GInfo.Graphics, "Wg", 100).Height;
                int groupRowTextOffset   = e.RowHeight - singleLineTextHeight;

                string groupRowDisplayText = viewInfo.View.GetGroupRowDisplayText(e.RowHandle);

                // current group row width obtaining
                int requredWidth = viewInfo.ViewRects.Rows.Width - viewInfo.Painter.ElementsPainter.RowPreview.GetPreviewIndent(viewInfo) * (viewInfo.View.GetRowLevel(e.RowHandle) + 2);

                // required group row height calculating
                int requiredGroupRowTextHeight = viewInfo.PaintAppearance.GroupRow.CalcTextSizeInt(viewInfo.GInfo.Graphics, groupRowDisplayText, requredWidth).Height;
                e.RowHeight = requiredGroupRowTextHeight + groupRowTextOffset;
            }
        }
Beispiel #29
0
        public override Point GetDistance(GridViewInfo viewInfo)   //x = distance, y == y
        {
            Point res = Point.Empty;

            if (IsEmpty)
            {
                return(res);
            }
            Rectangle rect = GetCurrentScrollableBounds(viewInfo);

            res.X = -(this.topPixelPosition - viewInfo.View.TopRowPixel);
            if (Math.Abs(res.X) > 0)
            {
                res.Y = rect.Y;
                if (res.X < 0)
                {
                    res.Y = rect.Y + Math.Abs(res.X);
                }
            }
            return(res);
        }
        private void ColumnSynk()
        {
            GridViewInfo viewInfo2 = gridViewPanel2.GetViewInfo() as GridViewInfo;

            if (viewInfo2.VScrollBarPresence != panel2State)
            {
                panel2State = viewInfo2.VScrollBarPresence;
                if (viewInfo2.VScrollBarPresence == ScrollBarPresence.Visible)
                {
                    gridViewPanel1.VertScrollVisibility = ScrollVisibility.Always;
                    RefreshData();
                }
                else
                {
                    if (FixedRows.Count != 0 || gridViewPanel1.VertScrollVisibility != ScrollVisibility.Auto)
                    {
                        gridViewPanel1.VertScrollVisibility = ScrollVisibility.Never;
                    }
                }
            }
        }
Beispiel #31
0
 private int GetColumnBestHeight(GridViewInfo viewInfo, GridColumn column)
 {
     var ex = viewInfo.ColumnsInfo[column];
     if (ex == null)
     {
         viewInfo.GInfo.AddGraphics(null);
         ex = new GridColumnInfoArgs(viewInfo.GInfo.Cache, null);
         try
         {
             ex.InnerElements.Add(new DrawElementInfo(new GlyphElementPainter(),
                 new GlyphElementInfoArgs(viewInfo.View.Images, 0, null),
                 StringAlignment.Near));
             if (viewInfo.View.CanShowFilterButton(null))
             {
                 ex.InnerElements.Add(viewInfo.Painter.ElementsPainter.FilterButton,
                     new GridFilterButtonInfoArgs());
             }
             ex.SetAppearance(viewInfo.PaintAppearance.HeaderPanel);
             ex.Caption = column.Caption;
             ex.CaptionRect = new Rectangle(0, 0, column.Width - 20, 17);
         }
         finally
         {
             viewInfo.GInfo.ReleaseGraphics();
         }
     }
     var grInfo = new GraphicsInfo();
     grInfo.AddGraphics(null);
     ex.Cache = grInfo.Cache;
     var canDrawMore = true;
     var captionSize = CalcCaptionTextSize(grInfo.Cache, ex, column.GetCaption());
     var res = ex.InnerElements.CalcMinSize(grInfo.Graphics, ref canDrawMore);
     res.Height = Math.Max(res.Height, captionSize.Height);
     res.Width += captionSize.Width;
     res =
         viewInfo.Painter.ElementsPainter.Column.CalcBoundsByClientRectangle(ex, new Rectangle(Point.Empty, res))
             .Size;
     grInfo.ReleaseGraphics();
     return res.Height;
 }
		public override ColumnsLayoutCalculator CreateCalculator(GridViewInfo viewInfo, bool autoWidth) {
			return new BandedViewColumnsLayoutCalculator(viewInfo);
		}
		public BandedViewColumnsLayoutCalculator(GridViewInfo viewInfo)
			: base(viewInfo) {
		}