C# datagridview中的内容对齐显示对象引用未设置错误?
我正在尝试重命名winform datagridview控件的列标题。我的代码是:C# datagridview中的内容对齐显示对象引用未设置错误?,c#,winforms,datagridview,C#,Winforms,Datagridview,我正在尝试重命名winform datagridview控件的列标题。我的代码是: gridProjectEdit.Columns[0].HeaderText = "S.NO."; 它运行良好,但当我尝试使用代码行调整内容对齐时: gridProjectEdit.Columns["S.NO."].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter; 它显示了以下错误: Object referenc
gridProjectEdit.Columns[0].HeaderText = "S.NO.";
它运行良好,但当我尝试使用代码行调整内容对齐时:
gridProjectEdit.Columns["S.NO."].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
它显示了以下错误:
Object reference not set to an instance of an object.
当我将列标题更改为SNO only而不是S.NO,它毫无问题地工作。
如果有必要的话,我是在.NETFramework2.0中这样做的
请让我知道我哪里做错了
提前感谢。问题是您只需设置标题文本,而不是列
名称
,因此要解决此问题,您最好记住列名,并在代码中使用它或使用索引
(尽管在某些情况下,对于不清楚的代码,并不建议这样做)。如果您的网格具有唯一的列HeaderText
(通常情况下),则可以使用一点LINQ
,通过HeaderText
搜索该列:
gridProjectEdit.Columns.OfType<DataGridViewColumn>()
.FirstOrDefault(col => col.HeaderText == "S.NO.")
.DefaultCellStyle.Alignment = DataGridViewContentAlignment
.MiddleCenter;
gridProjectEdit.Columns.OfType()
.FirstOrDefault(列=>列标题文本==“序号”)
.DefaultCellStyle.Alignment=DataGridViewContentAlignment
.MiddleCenter;