K2 Datagrid - XML

  • 27 September 2005
  • 6 replies
  • 0 views

Badge +3
On my Plan page, after i hit the K2 Plan button, i received this error:

GetData 2: The expression passed to this method should result in a NodeSet.

I think this is related to k2Datagrid trying to save data.
Does anyone have any idea as to what happenned ?

6 replies

Badge +11
What version of K2.net 2003 are you using?
You'll probably have to attach your project for troubleshooting.

Regards,
Ockert
Badge +3
K2.Net Studio 3.5140

K2.Net SP2A 3.5140.10

I'm doing a simple k2datagrid.databind. When the Plan buttong is completed, it produce a XML schema, but with no data along with it.
My data fields is in a simple XML schema:

<xs:schema id="XMLField" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"
attributeFormDefault="qualified" elementFormDefault="qualified"> <xs:element name="Root">
<xs:complexType>
<xs:sequence>
<xs:element name="ReductionType" type="xs:string" minOccurs="0" />
<xs:element name="Object" type="xs:string" minOccurs="0" />
<xs:element name="Interval" type="xs:string" minOccurs="0" />
<xs:element name="Classification" type="xs:string" minOccurs="0" />
<xs:element name="DataRate" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Badge +3
Here's the tracing info, when the Plan button is clicked.

27-09-05 09:39:53 Page_Load Start

27-09-05 09:39:53 ClosePage: False

27-09-05 09:39:53 IsPostBacke: True

27-09-05 09:39:53 Page_Load Completed

27-09-05 09:39:53 Button.OnClick Start

27-09-05 09:39:53 Calling button base class OnClick event

27-09-05 09:39:53 Done button base class OnClick event

27-09-05 09:39:53 Check CausesValidation property: True

27-09-05 09:39:53 Check Page.IsValid property: True

27-09-05 09:39:53 Will K2 Data be saved: True

27-09-05 09:39:53 Check Page is SmartForm

27-09-05 09:39:53 Page is a SmartForm

27-09-05 09:39:53 Calling Page.SaveData

27-09-05 09:39:53 Page.SaveData Start

27-09-05 09:39:53 Getting current thread user

27-09-05 09:39:53 Button.Type: PlanButton

27-09-05 09:39:53 PlanServer: wsmrc2wsdmvm001

27-09-05 09:39:53 Establish K2 Connectio to Server

27-09-05 09:39:53 AuthenticationType: IntegratedAuthentication

27-09-05 09:39:53 Connection Established: True

27-09-05 09:39:53 Creating Process Instance

27-09-05 09:39:53 Start looping through controls and getting data from them

27-09-05 09:39:57 Done looping through controls and getting data from them

27-09-05 09:39:57 Invalid record Count: 0

27-09-05 09:39:57 Start Process Instance

27-09-05 09:39:57 Process Instance Started

27-09-05 09:39:59 Process Planed

27-09-05 09:39:59 Calling Page.SaveData result: True

27-09-05 09:39:59 Fire AfterClick Event

27-09-05 09:39:59 Button.OnClick End
Badge +3
I've found this on the net, w/similar error that i encountered. Are you guys doing somethg like this ?

http://www.dotnet247.com/247reference/msgs/42/213389.aspx
Badge +11
Apparently your problem lies in the fact that your 'Root' node is set up as a repeating node - which the K2Datagrid can not handle.

Please try the following schema and change your Datagrid's XPath to '/Root/Items'.

<xs:schema id="XMLField" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"
attributeFormDefault="qualified" elementFormDefault="qualified">
<xs:element name="Root">
<xs:complexType>
<xs:sequence>
<xs:element name="Items">
<xs:complexType>
<xs:sequence>
<xs:element name="ReductionType" type="xs:string" minOccurs="0" />
<xs:element name="Object" type="xs:string" minOccurs="0" />
<xs:element name="Interval" type="xs:string" minOccurs="0" />
<xs:element name="Classification" type="xs:string" minOccurs="0" />
<xs:element name="DataRate" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>


Hope this helps,
Ockert
Badge +3
It did it...
Thx for your help.

Reply