示例#1
0
        public static void SetMdgvStyle(this MergeDataGridView mdgv)
        {
            mdgv.SetDgvStyle();

            mdgv.DefaultCellStyle.SelectionBackColor = mdgv.DefaultCellStyle.BackColor;

            mdgv.DefaultCellStyle.SelectionForeColor = mdgv.DefaultCellStyle.ForeColor;
        }
示例#2
0
        /// <summary>
        /// 导入到表格控件中
        /// </summary>
        /// <typeparam name="Title"></typeparam>
        /// <typeparam name="Model"></typeparam>
        /// <param name="mdgv"></param>
        /// <param name="objs"></param>
        /// <param name="mergeCell"></param>
        public static void ImportDgv <Title, Model>(this MergeDataGridView mdgv, List <Model> objs, bool mergeCell = true)
        {
            if (mdgv.ColumnCount == 0)
            {
                for (var i = 0; i < typeof(Model).GetProperties().Length; i++)
                {
                    var p     = typeof(Model).GetProperties()[i];
                    var pDcrp = GetDcrp(p);

                    var column = new DataGridViewTextBoxColumn
                    {
                        Name             = p.Name,
                        Tag              = GetReference(p),
                        DataPropertyName = p.Name,
                        HeaderText       = string.IsNullOrEmpty(pDcrp) ? string.Empty : pDcrp,
                        FillWeight       = pDcrp == null || pDcrp.Length > 10 ? 7
                            : pDcrp.Length > 6 ? 4
                            : pDcrp.Length < 4 ? 3
                            : pDcrp.Length
                    };

                    mdgv.Columns.Add(column);
                    mdgv.MergeColumnNames.Add(p.Name);
                }
            }

            // 数据源
            mdgv.DataSource = objs;

            // 设置表格样式
            mdgv.SetDgvStyle();

            // 设置跨列合并单元格
            MergeHeaders <Title>(mdgv);

            // 设置合并内容单元格
            MergeCell(mdgv);
        }