Winform DataGridView初始化问题

本文详细介绍DataGridView控件的高级配置方法,包括属性初始化、列添加、排序箭头取消及ComboBox列数据绑定技巧,适用于Windows Forms应用的数据展示优化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、初始化Dgv属性

    通过代码初始化Dgv属性,更便于查看。

            DataGridView.DataSource = null;
            //1、禁止自动创建列
            DataGridView.AutoGenerateColumns = false;
            //2、禁止用户添加、删除行
            DataGridView.AllowUserToAddRows = false;
            DataGridView.AllowUserToDeleteRows = false;
            //3、禁止用户修改行、列大小
            DataGridView.AllowUserToResizeRows = false;
            DataGridView.AllowUserToResizeColumns = false;
            DataGridView.AllowUserToOrderColumns = false;
            //4、隐藏行、列标题列
            DataGridView.RowHeadersVisible = false;
            //DataGridView.ColumnHeadersVisible = false;
            //5、是否可以选择多行
            DataGridView.MultiSelect = false;
            //6、选择的模式:整行、单元格
            DataGridView.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
            //7、设置标题列和单元格的内容显示格式(居中)
            DataGridView.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
            DataGridView.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
            //8、设置单元格是否是只读的
            DataGridView.ReadOnly = false;

            DataGridView.ScrollBars = ScrollBars.Both;

            DataGridView.Rows.Clear();
            DataGridView.Columns.Clear();

二、为Dgv添加列

    列的选择性很多,文本列、选择列、下拉列等等。

                    DataGridViewTextBoxColumn _DgvTextBoxColumn;
                    _DgvTextBoxColumn = new DataGridViewTextBoxColumn();
                    //1、列名、标题名
                    _DgvTextBoxColumn.Name = "ID";
                    _DgvTextBoxColumn.HeaderText = "编号";
                    //2、宽度或者自动调整属性
                    _DgvTextBoxColumn.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
                    //3、只读属性
                    _DgvTextBoxColumn.ReadOnly = false;
                    //4、数据源的属性或数据库列的名称与其绑定(名称最好与列名相同)
                    _DgvTextBoxColumn.DataPropertyName = _DgvTextBoxColumn.Name;
                    //5、添加到Dgv的列中
                    dgv.Columns.Add(_DgvTextBoxColumn);

三、取消标题栏右侧排序箭头


            //取消右侧排序小箭头
            for (int i = 0; i < dataGridView.Columns.Count; i++)
            {
                dataGridView.Columns[i].SortMode = DataGridViewColumnSortMode.NotSortable;
            }

四、添加Combox列及数据绑定

                DevComponents.DotNetBar.Controls.DataGridViewComboBoxExColumn _DgvComboBoxColumn = new DevComponents.DotNetBar.Controls.DataGridViewComboBoxExColumn();
                _DgvComboBoxColumn.Name = "CommunicationMethod";
                _DgvComboBoxColumn.HeaderText = "通讯方式";
                _DgvComboBoxColumn.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
                _DgvComboBoxColumn.ReadOnly = false;
                _DgvComboBoxColumn.DataPropertyName = _DgvComboBoxColumn.Name;
                _DgvComboBoxColumn.DropDownStyle = ComboBoxStyle.DropDownList;
                IniDgvCombox(ref _DgvComboBoxColumn, typeof(Model.SystemEnum.CommunicationMethod));




public static void IniDgvCombox(ref DevComponents.DotNetBar.Controls.DataGridViewComboBoxExColumn cb, Type type)
        {
            cb.DisplayMember = "Description";
            cb.ValueMember = "value";
            List<Model.ObjectInfo> list = new List<Model.ObjectInfo>();

            foreach (var inst in Enum.GetValues(type))
            {
                list.Add(new Model.ObjectInfo()
                {
                    Description = GetEnumDescription(inst as System.Enum),
                    value = inst
                });
            }
            cb.DataSource = list;
            
        }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值