C1DataGrid的Xml保存问题
您好!我现在在关于DataGrid遇到了同样的问题。
首先在保存C1DataGrid时,如上图所示,会过滤到添加的c1:C1DataGrid.Columns列信息?
其次,我保存为xml后,再次打开,总是报错,显示CurrentCell为NULL,为什么总会出现CurrentCell为null或者CurrentRow为null的问题?
回复 1楼安心海叶的帖子
谢谢您的反馈。
问题已经收到了,和之前的C1Chart的问题感觉类似。
我们测试后给您反馈。 回复 2楼Alice的帖子
好的,非常感谢~ 回复 3楼安心海叶的帖子
:itwn:这个问题有意思,看了你的两个帖子,都是想把控件设计与xml互相转化,其中用到的XamlWriter.Save方法,但是这个使用是有限制的,可以参考:https://msdn.microsoft.com/zh-cn/library/ms754193(v=vs.110).aspx
观察C1DataGrid里面的属性:
public DataGridColumnCollection Columns
{
get
{
return this.Model.Columns;
}
}
public DataGridCell CurrentCell
{
get
{
if (this.Model != null)
{
return this.Model.FocusAndEditingManager.CurrentCell;
}
return null;
}
set
{
if (this.Model != null)
{
this.Model.SetCurrentCell(value);
}
}
}
必须同时实现get和set方法才能被save保存到xml中,进行序列化和反序列化操作;很明显C1DataGrid里的Current属性是可以序列化和序列化,只可惜最后结果是{assembly:Null},而且反序列化不回来了,网上有人说只能序列化后手动删除该属性,才能反序列化回来;
其次,Columns属性是没法序列化和反序列化的,因为没有实现set属性,即时在Mode里Columns的Set方法也是private,同样不能序列化;
看来您只能自己手动操作序列化和反序列化保存xml了:~ 回复 3楼安心海叶的帖子
您可以参考4楼的回复。
如果有什么问题,可以和我们联系。 回复 4楼KNight的帖子
请问,我如何手动操作序列化和反序列化保存xml,对于DataGrid,我完全没有头绪... 回复 6楼安心海叶的帖子
:-|这个我就是知其然不知其所以然了,@Alice 问一下Alice吧 回复 7楼KNight的帖子
好的,谢谢~ 回复 8楼安心海叶的帖子
谢谢反馈。
根据上述来看,这不是C1DataGrid的问题,这是xml序列化的问题。
我们测试后再给您反馈。 回复 8楼安心海叶的帖子
您好。
有关C1DataGrid的序列化问题,对于不支持序列化的属性,您可以参考如下帖子11楼的Demo进行序列化和反序列化。
这个Demo提供了一种思路,您可以采用这种方式,将所有C1控件中不支持序列化的属性,进行序列化和反序列化:
http://gcdn.gcpowertools.com.cn/showtopic-19406.html
页:
[1]
2