博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Winform的DataGridView的合并单元格和同步两个Grid的滚动条

Posted on 2015-10-22 17:41  first_start  阅读(570)  评论(0)    收藏  举报

/// <summary>
        /// 合并单元格
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void dgv_CellPainting(object sender, DataGridViewCellPaintingEventArgs e)
        {
            // 设定单元格下边框线不画
            e.AdvancedBorderStyle.Bottom = DataGridViewAdvancedCellBorderStyle.None;

            // 行标题和列标题不做处理
            if (e.RowIndex < 0 || e.ColumnIndex < 0)
                return;

            if (e.RowIndex % 2 != 0 && e.ColumnIndex < 3)
            {
                // 单元格上边框线不画
                e.AdvancedBorderStyle.Top = DataGridViewAdvancedCellBorderStyle.None;
            }
            else
            {
                // 单元格上边框线设置为既定边框线
                e.AdvancedBorderStyle.Top = this.gvOuen.AdvancedCellBorderStyle.Top;
            }
        }

        /// <summary>
        /// 两个DataGridView的滚动条同步处理
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void gvOuen_Scroll(object sender, ScrollEventArgs e)
        {
            try
            {
                //this.gvOuenHD.FirstDisplayedScrollingColumnIndex = this.gvOuen.FirstDisplayedScrollingColumnIndex;
                this.gvOuenHD.HorizontalScrollingOffset = this.gvOuen.HorizontalScrollingOffset;
            }
            catch (Exception ex)
            {
                this.LocalExceptionHandler(ex);
            }
        }