我用TreeList控件进行信息添加操作,节点的ID都存储为GUID类型的,根结点ID用字段ParentID来存储。
在数据库和数据集里都设置字段ParentID为GUID类型,但当添加根结点信息时,
会报错:GUID应包含4个短划线的32位数(.....)。不能在ParentID列中存储<>。所需类型是GUID。如图所示:
当我把数据集里字段ParentID的类型改为string时,添加根节点时不会报错,但同时添加子节点时却不能正常作为子节点显示,
而还是添到根结点一级上了,也就是说这种情况下,只能添加根结点,不能添加子节点,最后保存的时候也会报string类型不能转化为GUID类型的错误,
因为数据库里并未改类型。当我把ParentID的类型改为GUID时,根结点和子节点都能正常添加,而且可以正常保存,但就是有一点问题,就是当往树结构里添加根结点时,
显示如图所示的问题,不知什么原因,查了半天也没搞到相近的问题和答案,想不透,故上来发帖请教大家,也许我的处理思路可能不对,请大家不吝赐教啊!!谢谢
在数据库和数据集里都设置字段ParentID为GUID类型,但当添加根结点信息时,
会报错:GUID应包含4个短划线的32位数(.....)。不能在ParentID列中存储<>。所需类型是GUID。如图所示:
当我把数据集里字段ParentID的类型改为string时,添加根节点时不会报错,但同时添加子节点时却不能正常作为子节点显示,
而还是添到根结点一级上了,也就是说这种情况下,只能添加根结点,不能添加子节点,最后保存的时候也会报string类型不能转化为GUID类型的错误,
因为数据库里并未改类型。当我把ParentID的类型改为GUID时,根结点和子节点都能正常添加,而且可以正常保存,但就是有一点问题,就是当往树结构里添加根结点时,
显示如图所示的问题,不知什么原因,查了半天也没搞到相近的问题和答案,想不透,故上来发帖请教大家,也许我的处理思路可能不对,请大家不吝赐教啊!!谢谢
http_imgload.cgi?/rurl2=093485be42b1cdd428f00f37f7e94a1fce4e
fb58859cafe98f8863da42c5acc35af1a210c92a4b03fe
7bce557d31aa72c597ef608157bae99a328f3c59e42d7e090c76
dd48160d3e4f23bdc1d76b04c2c7292fbd
导致ID的类型不是GUID了?
我单步执行的时候,也看了,值都没有问题的
问题出在这一步:DevExpress.XtraTreeList.Nodes.TreeListNode tnd = this.treeList1.AppendNode(nodeData,null);
其中nodeData是数组,null所处的位置是让添加ParentNode,是ListNode类型的。因为是添加根结点,所以这里用了null
可是执行完这一步,程序就跳走了
我用try{}catch{}捕捉它,也没有异常,可就是会报这么个错误提示