如何控制DataGridView中绑定到CustomObject的列类型?

我在C#WinForms应用程序中有一个DataGridView,它在运行时是DataBound(通过Form_Load)到自定义对象。
在DataGridView的设计视图中,我没有设置列。
当Form加载时,将根据DataBound所在的Custom对象中的数据自动创建列。
我的问题是如何控制自动创建的列。
例如,如果我希望其中一列是DataGridViewLinkColumn而不是自动创建的DataGridViewTextBoxColumn?

默认列基于数据类型。 我没有检查过,但是对于链接,你可以尝试将数据公开为Uri ,但这可能是有希望的。 实际上,如果您需要特定类型的列 – 通过代码添加列并将DataGridView.AutoGenerateColumns设置为false

安德鲁暗示; 通常使用reflection之类的东西来生成列,并且每个(可浏览+公共+可读)属性都会得到一列。 如果需要,在此之上有一层抽象,但这对添加超链接列没有帮助。

您可以在设计器中预先创建列。 如果列的名称与列最终绑定的属性的名称匹配,则数据绑定将像以前一样为您处理DGV填充。