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

时间:2009-10-27 20:36:11

标签: c# winforms datagridview

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

2 个答案:

答案 0 :(得分:3)

默认列基于数据类型。 我没有选中,但是对于一个链接,您可以尝试将数据公开为Uri,但这可能是有希望的。真的,如果你想要一个特定的列的类型 - 通过代码添加列并将DataGridView.AutoGenerateColumns设置为false

安德鲁暗示;通常使用之类的反射生成列,并为每个(可浏览+公共+可读)属性获取一列。如果需要,在此基础上有一层抽象,但这对添加超链接列没有帮助。

答案 1 :(得分:1)

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