当操作 DataGridView 单元格时,通常会执行以下操作:
MyGrid.CurrentRow.Cells["EmployeeFirstName"].Value = "John";
这都很好,但是随着复杂度的增加,您开始担心拼写错误、重构问题等。
历史上,我只是将列公开,以便可以直接在类实例中访问它们,但是我必须与Windows Forms设计器作斗争,因为它希望保持它们的私有性(据说这是良好的做法)。
我的当前解决方案是创建一个名为Cols的类,其中包含一堆字符串:
public static class Cols
{
public static string EmployeeFirstName = "EmployeeFirstName";
...
}
这将导致以下结果:
MyGrid.CurrentRow.Cells[Cols.EmployeeFirstName].Value = "John";
这让我可以使用智能感知而不是等待运行时错误。虽然它仍然似乎有些hackish(粗糙),但这确实很好用。
有没有更方便的方法?
DataGridViewRow
(由MyGrid.CurrentRow
返回的类型)实际上并没有.Columns
属性。我认为答案应该是指.Cells
。 - Ricardo Altamirano