我想使用实体框架在datagridview中编辑列标题.我使用表单设计添加了列和设计名称,但当我在代码中添加数据源时,包含数据的列显示在左侧,而我使用表单设计创建的列显示为空白.如何使用列设计名称填充数据源中的数据?

我试过很多方法,比如

 colummn[0].headercell.value = "column title"

但我不想这样.我想用栏目设计的名字.

推荐答案

根据我的测试,我复制了你的问题.我建议你可以放弃datagridview1.DataSource=context.students.ToList()美元.

如果您只需要显示在WinForm中编辑的列,我建议您可以使用反射和循环来实现.

以下是您可以参考的代码示例.

  private void Form1_Load(object sender, EventArgs e)
    {
        Model1 model = new Model1();//DbContext
        foreach (var item in model.Students)
        {
            dataGridView1.Rows.Add();
        }
        var columns = dataGridView1.Columns;
        for (int i = 0; i < dataGridView1.ColumnCount; i++)
        {
            var names = model.Students.ToList().Select(x => x.GetType().GetProperty(columns[i].Name).GetValue(x)).ToList();
            for (int j = 0; j < names.Count(); j++)
            {
                dataGridView1.Rows[j].Cells[dataGridView1.Columns[i].Name].Value = names[j].ToString();

            }
        }
       
    }

Tested result(Only show the Id and Age column): enter image description here

Csharp相关问答推荐

Regex在c#中完全匹配

. NET 8 HttpClient post参数将其情况更改为camel'

C#中使用BouncyCastle计算CMac

. NET JSON属性自定义所需逻辑

应用程序重新启动后,EFCore列表的BSON反序列化错误

当前的文化决定了错误的文化

使用带有参数和曲面的注入失败(&Q;)

EF核心区分大小写的主键

对于PowerShell中的ConvertTo-SecureString方法,Microsoft如何将初始化向量添加到AES加密中的安全字符串?

VS 2022与VS 2019:如何/为什么创建额外的任务?

源代码生成器项目使用`dotnet build`编译,而不是在Visual Studio中编译?

将FileStream的特定部分作为字节数组读取

如何使用ODP.NET C#设置Oracle会话时间长度限制

c#在后台实现类型化数组

在C#/ASP.NET Core 7中,什么可能导致POST请求作为GET请求发送

如何在Xamarin.Forms中检索PanGesture事件的位置?

如何使用LINQ在C#中填充列表列表?

在使用.NET EF Core DbContext属性之前,是否应使用null判断

如何在C#中抽象Vector256;T<;的逻辑以支持不同的硬件配置?

MudBlazor MudTabs-->;选项卡内容高度