当使用DataTable作为其DataSource时,如何指定DataGridView选择使用的列类型

时间:2009-11-16 15:00:13

标签: c# winforms datagridview datatable

我的DGV中有一列是自定义类型,用于显示MyObjectType的值。我的DataTable将列创建为MyObjectType,但DGV创建了一个DataGridViewTextBox列并使用MyObjectType.ToString()填充它;这不是我想要的行为。

我可以强制将数据加载到预先存在的列中;或者是否指定应创建MyObjectTypeColumn以显示MyObjectType数据?

我需要在单个列中显示MyObjectType值的图像和文本值;类似于资源管理器中的名称列在使用详细信息视图时的方式,因此我无法将数据塞入单列中,就像默认行为一样。

3 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

将AutogenerateColumns属性设置为false允许我使用具有我定义的类型的列。我是盲目的,还是在设计师网格中没有曝光的属性。

答案 2 :(得分:0)

我相信,如果你有约束力,你必须设置你的DisplayMember和ValueMember。当绑定到ComboBox时我遇到了类似的问题,我也只是获得了String []数组。