具有自定义数据类型的DataTable列

时间:2009-08-06 16:40:25

标签: c# .net sorting datagridview

我编写了自己的数据类型,然后将其用作数据表中列的类型。我正在从文件中读取XML数据。在我调用ReadXML(文件)方法之后,除了具有我的数据类型的列中的单元格之外,所有单元格都具有值。是否有一些操作符需要覆盖,以便ReadXML(文件)可以从文件中获取数据并从中生成MyDataType?此外,当我尝试对此列的defaultview进行排序时,我得到“对象引用而不是对象的实例”。谢谢你的帮助。

1 个答案:

答案 0 :(得分:1)

是的,您可以使用自定义数据类型创建列。

假设您希望属性为Address:

类型
var ds = new DataSet();
var table = new DataTable();
table.Columns.Add("Address", typeof(Address));

ds.Tables.Add(table);

如果您希望能够序列化数据集(无法序列化数据表),则必须确保类型Address可序列化。

将类标记为可序列化有多种方法。最简单的方法是使用SerializableAttribute。但我建议你的Address类实现IXmlSerializable接口。这可能有点难,但你会避免版本问题。

相关问题