C# 当您绑定列表时<&燃气轮机;到datagrid-如何更改列名?

C# 当您绑定列表时<&燃气轮机;到datagrid-如何更改列名?,c#,data-binding,datagridview,C#,Data Binding,Datagridview,我有一个密码: VideoChannel[] channels = GetVideoChannels(); dataGridView1.DataSource = channels; dataGridView1.Refresh(); 视频频道是一个具有许多属性的类。这段代码工作正常,但我想更改列名。默认情况下,列名=视频频道的属性名。是否有一些属性可以标记VideoChannel的属性,以便使用列名!=属性名称?这对您有帮助吗 dataGridView1.TableStyles[0]。Grid

我有一个密码:

VideoChannel[] channels = GetVideoChannels();

dataGridView1.DataSource = channels;
dataGridView1.Refresh();
视频频道是一个具有许多属性的类。这段代码工作正常,但我想更改列名。默认情况下,列名=视频频道的属性名。是否有一些属性可以标记VideoChannel的属性,以便使用列名!=属性名称?

这对您有帮助吗

dataGridView1.TableStyles[0]。GridColumnStyles[0]。HeaderText=“SomeDifferentColumnName”

dataGridView1.Columns[0]。HeaderText=“SomeDifferentColumnName”

资料来源:


源代码:

您可以在设计模式下更改列名,在该模式下创建列并设置其属性。 或者你可以试试

DataGridName.Colimns[0].HeaderText = "Your Header0";
DataGridName.Colimns[1].HeaderText = "Your Header1";
.
.
.
DataGridName.Colimns[N].HeaderText = "Your HeaderN";
但更好的方法是在设计模式下执行此操作。

您可能需要尝试使用属性。用它装饰你的班级财产

 public class SomeItem
    {
        [DisplayName("SomeItem")]
        public string Name { get; set; }
    }

在该选项中,我必须手动将标题文本分配给列。我不喜欢这个解决方案。也许,我可以在视频频道属性中使用某些属性?我知道如何以编程方式设置列名,我问我是否可以使用binding类中的某些属性自动设置列名。是的,您可以这样做。通过使用wpf或winforms的方式确定oops。?如果您正在使用wpf,那么您可以将datagrid列的标题文本与VideoChannel classWinForms属性的1进行绑定。那个解决方案不适合我。我不想手动设置标题文本-我希望它将自动使用我的自定义结构字段的属性。如此简单,但如此有用。