C# DataGridView样式设置和数据绑定

DataGridView控件与List集合数据展示

1.DataGridView控件

(1)创建

从工具箱中拖放一个DataGridView控件到窗体中,再将智能标签中的启用都取消掉(很少会用)

(2)背景色修改

设置背景色:BackgroundColor

(3)设置标题列

①添加列

进入DataGridView控件的智能标签,点击编辑列,进入编辑列窗口后点击添加,进入添加列窗口。名称填写要展示集合中实体类的属性,页眉文本是表格中要显示的列标题,填写完成后点击添加即可继续添加列,点击取消可停止添加。

②设置列宽

固定列宽

自动填充(至少将一个列设置为自动列宽,即可占满整个表格的宽)

④设置列名居中

右键打开表格的属性

⑤设置列标题的大小

设置前将EnableHeadersVisualStyle设置为False,否则自定义的列标题和行标题样式不起作用,

再将ColumnHeadersHeigtSize设置为EnableResizing。设置完成之后则可以修改ColumnHeadersHeight改变列标题宽度。

⑥设置列标题边框样式

修改表格的ColumHeadersBorderStyle属性

⑦修改列标题的样式

其中

修改背景色:BackColor

修改字体、字号:Font

修改字体颜色:ForeColor

(4)修改单元格样式

设置分割单元格的网格线条的颜色:GridColor

设置数据行默认的单元格样式:RowsDefaultCellStyle

其中

修改背景色:BackColor

修改字体、字号:Font

修改字体颜色:ForeColor

修改选中时的背景色:SelectionBackColor

修改选中时的字体颜色:SelectionForeColor

(5)设置选中模式

设置选中行时,是选中全部列还是当前列:SelectionMode

CellSelect:当前列

FullRowSelect:全部列

RowHeaderSelect:单元列和行两种选中模式

2. List集合数据源

(1)目的

        让DataGridView显示数据

(2)步骤:

        ① 编写实体类(将要显示的数据封装成实体类)

public class Employee
{
    public int EmployeeId { get; set; }

    public string EmployeeName { get; set; }

    public string IdNo { get; set; }

    public string PhoneNumber { get; set; }

    public string Post { get; set; }

    public string Department { get; set; }

    public string Province { get; set; }

    public string Gender { get; set; }


    public string WeiXinNumber { get; set; }

    public string OtherWork { get; set; }

    public DateTime EntryData { get; set; }

    public string Phote { get; set; }
}

② 设置dgv绑定属性为“实体类的属性”(列标题的三大属性)

Name:用于读取数据(一般和DataProperName的值相同)

DataProperName:用于绑定实体类的属性,该值为实体类的属性名

HeaderText:用于展示列名

③ 组织数据集合

//组织数据集合
List<Employee> eList = new List<Employee>();
for(int i = 0; i < 10; i++) 
{
    eList.Add(new Employee()
    {
        EmployeeName = "员工" + i,
        IdNo = "1202404071154" + i,
        PhoneNumber = "123456789" + i,
        Post = "职位" + i,
        Department = "部门" + i,
        Province = "身份" + i,
        Gender = "男"
    });
}

④ 设置DataSource

//设置dgv的DataSource属性
this.dgvEList.DataSource = eList;

⑤禁止自动生成列(放到构造方法中)

在不设置标题时,dgv会按照属性名自动生成列。如果想要只显示设置的列,需要将此设置为false。

public DGVTestForm()
{
    InitializeComponent();
    //设置禁止生成列,在构造函数中设置
    this.dgvEList.AutoGenerateColumns = false;
}

特别注意:如果数据不显示,请检查DataPropertyName属性是否设置,其次,检查实体类是否是添加的属性,而不是共有字段。

  • 15
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值