使用Entity Framework时,如何用DataGridView设计列绑定数据源并设置标题
解决Entity Framework绑定DataGridView时列标题与数据匹配的问题
直接按以下步骤操作,就能用设计器预设的列绑定数据并保留自定义标题:
关闭自动生成列
打开窗体设计器,选中目标DataGridView,在属性面板找到AutoGenerateColumns,将其设为False。这是核心操作,否则EF绑定数据源后会自动生成新列,导致你设计的列空值、自动生成列排在左侧。绑定设计列与EF实体属性
对每个设计器中添加的列,设置DataPropertyName属性:
比如你的EF实体类包含OrderId、OrderDate属性,就把对应设计列的DataPropertyName分别设为OrderId、OrderDate。绑定数据源后,数据会自动填充到这些列中,列标题直接使用设计时设置的HeaderText。绑定EF数据源
代码中直接绑定EF查询结果即可,推荐用BindingSource作为中间层,提升数据绑定的稳定性:using (var dbContext = new YourDbContext()) { var dataList = dbContext.TargetEntitySet.ToList(); var bindingSource = new BindingSource(); bindingSource.DataSource = dataList; yourDataGridView.DataSource = bindingSource; }
完成以上操作后,DataGridView会完全使用你设计的列展示数据,标题直接沿用设计时的设置,无需通过代码硬改列标题。
内容的提问来源于stack exchange,提问作者ABDULLAH SALAH
相关产品推荐
相关产品推荐

