Kendo ui Kendo网格未绑定到web服务结果

Kendo ui Kendo网格未绑定到web服务结果,kendo-ui,kendo-grid,Kendo Ui,Kendo Grid,我不明白这里发生了什么,但我认为这只是没有正确理解模式。我尝试了很多不同的选项和表达模式的方法,也尝试了web服务结果的不同格式,包括XML,但都无法正常工作。我可以验证(从Fiddler2)web服务正在被调用并返回数据,我的网格正在呈现我所说的列,但它不会显示数据。我不明白这里缺少了什么,我是否需要修复web服务结果,或者以不同的方式指定模式,或者其他什么 我的Javascript看起来像这样。。。(在尝试了很多不同的东西后,这就是我目前拥有的) 我尝试了一系列不同的方法来指定要查看的元素-

我不明白这里发生了什么,但我认为这只是没有正确理解模式。我尝试了很多不同的选项和表达模式的方法,也尝试了web服务结果的不同格式,包括XML,但都无法正常工作。我可以验证(从Fiddler2)web服务正在被调用并返回数据,我的网格正在呈现我所说的列,但它不会显示数据。我不明白这里缺少了什么,我是否需要修复web服务结果,或者以不同的方式指定模式,或者其他什么

我的Javascript看起来像这样。。。(在尝试了很多不同的东西后,这就是我目前拥有的)

我尝试了一系列不同的方法来指定要查看的元素-XPath(string/),尝试将ID列设置为“ID”-只是没有解析它。我也可以让它返回丑陋的XML,但是网格也不能很好地处理它

    <?xml version="1.0" encoding="utf-8"?>
    <DataTable>
        <xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:msprop="urn:schemas-microsoft-com:xml-msprop">
            <xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:MainDataTable="Table" msdata:UseCurrentLocale="true">
                <xs:complexType>
                    <xs:choice minOccurs="0" maxOccurs="unbounded">
                        <xs:element name="Table" msprop:BaseTable.0="WMDT_ACCESS">
                            <xs:complexType>
                                <xs:sequence>
                                    <xs:element name="ID" msprop:BaseColumn="ID" msprop:OraDbType="107" type="xs:decimal" minOccurs="0" />
                                    <xs:element name="ITEM_NAME" msprop:BaseColumn="ITEM_NAME" msprop:OraDbType="126" type="xs:string" minOccurs="0" />
                                    <xs:element name="FUNCTION_NM" msprop:BaseColumn="FUNCTION_NM" msprop:OraDbType="126" type="xs:string" minOccurs="0" />
                                </xs:sequence>
                            </xs:complexType>
                        </xs:element>
                    </xs:choice>
                </xs:complexType>
            </xs:element>
        </xs:schema>
        <diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
            <NewDataSet>
                <Table diffgr:id="Table1" msdata:rowOrder="0">
                    <ID>1</ID>
                    <ITEM_NAME>VR data to Close Package</ITEM_NAME>
                    <FUNCTION_NM>CLOSE_PACKAGE_MAP_TO_BC</FUNCTION_NM>
                </Table>
                <Table diffgr:id="Table2" msdata:rowOrder="1">
                    <ID>2</ID>
                    <ITEM_NAME>Currency Conversion</ITEM_NAME>
                    <FUNCTION_NM>WV_CURRENCY_CONVERSION</FUNCTION_NM>
                </Table>
                <Table diffgr:id="Table3" msdata:rowOrder="2">
                    <ID>3</ID>
                    <ITEM_NAME>GL Coding (wMDT Mapping)</ITEM_NAME>
                    <FUNCTION_NM>GL_MAPPING</FUNCTION_NM>
                </Table>
            </NewDataSet>
        </diffgr:diffgram>
    </DataTable>

1.
关闭虚拟现实数据包
关闭\u包\u映射\u到\u BC
2.
货币兑换
货币换算
3.
总账编码(wMDT映射)
GL_映射
因此,如果这里有一个问题,那就是我应该使用哪个结果,以及如何使该结果正确绑定到网格


很抱歉发布了一个“讨论”类型的问题,但我被禁止在“普通”论坛上提问。

这只是略有不同,但很有效。有人能解释一下原因吗?我真的不喜欢“在它工作之前一直玩弄它”的cargo cult编程方法

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <link href="../Content/kendo/2012.3.1114/kendo.common.min.css" rel="stylesheet" type="text/css" />
    <link href="../Content/kendo/2012.3.1114/kendo.default.min.css" rel="stylesheet" type="text/css" />
    <script src="../Scripts/jquery-1.8.2.min.js" type="text/javascript"></script>
    <script src="../Scripts/kendo.all.min.js" type="text/javascript"></script>
</head>
<body>
    <div id="grid" style="height: 400px; width: 900px;">
    </div>
    <script type="text/javascript">
        var myWebServiceUrl = 'wMDTData.asmx';

        var myGridData = new kendo.data.DataSource({
            transport: {
                read: {
                    url: myWebServiceUrl + "/Read",
                    dataType: "json",
                    type: "post",
                    contentType: "application/json; charset=utf-8"
                }
            },
            schema: {
                data: "d"
            }
        });

        myGridData.read();

        $("#grid").kendoGrid({ dataSource: myGridData });
    </script>
</body>
</html>

var myWebServiceUrl='wMDTData.asmx';
var myGridData=new kendo.data.DataSource({
运输:{
阅读:{
url:myWebServiceUrl+“/Read”,
数据类型:“json”,
类型:“post”,
contentType:“应用程序/json;字符集=utf-8”
}
},
模式:{
数据:“d”
}
});
myGridData.read();
$(“#网格”).kendoGrid({dataSource:myGridData});

Web服务结果仍然与以前相同,即JSON结果。有人能解释一下这里可能发生的事情吗?我要把“选项”放回去,似乎这就是我把它搞砸的原因,因为它是我唯一真正删除的东西。

我确实读过这篇文章:但是,当我将内容类型添加到我的Jquery调用中时,web服务返回一个错误。你为什么要使用Jquery 1.9.0?剑道用户界面附带剑道用户界面的版本为1.8.2。使用1.9.0可能会遇到问题。您可以尝试使用预打包的jQuery复制它吗?下面是一个示例,演示如何绑定到ASMX:谢谢,我已经提取了所有这些示例,这不是我第一次。错误的JQuery版本是可以确定的。修复JQuery版本并不能使这项工作正常进行。就我所见,它与示例相同,但它不渲染行。它将网格放在那里,有正确的列,但从来没有显示任何行。
    <?xml version="1.0" encoding="utf-8"?>
    <DataTable>
        <xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:msprop="urn:schemas-microsoft-com:xml-msprop">
            <xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:MainDataTable="Table" msdata:UseCurrentLocale="true">
                <xs:complexType>
                    <xs:choice minOccurs="0" maxOccurs="unbounded">
                        <xs:element name="Table" msprop:BaseTable.0="WMDT_ACCESS">
                            <xs:complexType>
                                <xs:sequence>
                                    <xs:element name="ID" msprop:BaseColumn="ID" msprop:OraDbType="107" type="xs:decimal" minOccurs="0" />
                                    <xs:element name="ITEM_NAME" msprop:BaseColumn="ITEM_NAME" msprop:OraDbType="126" type="xs:string" minOccurs="0" />
                                    <xs:element name="FUNCTION_NM" msprop:BaseColumn="FUNCTION_NM" msprop:OraDbType="126" type="xs:string" minOccurs="0" />
                                </xs:sequence>
                            </xs:complexType>
                        </xs:element>
                    </xs:choice>
                </xs:complexType>
            </xs:element>
        </xs:schema>
        <diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
            <NewDataSet>
                <Table diffgr:id="Table1" msdata:rowOrder="0">
                    <ID>1</ID>
                    <ITEM_NAME>VR data to Close Package</ITEM_NAME>
                    <FUNCTION_NM>CLOSE_PACKAGE_MAP_TO_BC</FUNCTION_NM>
                </Table>
                <Table diffgr:id="Table2" msdata:rowOrder="1">
                    <ID>2</ID>
                    <ITEM_NAME>Currency Conversion</ITEM_NAME>
                    <FUNCTION_NM>WV_CURRENCY_CONVERSION</FUNCTION_NM>
                </Table>
                <Table diffgr:id="Table3" msdata:rowOrder="2">
                    <ID>3</ID>
                    <ITEM_NAME>GL Coding (wMDT Mapping)</ITEM_NAME>
                    <FUNCTION_NM>GL_MAPPING</FUNCTION_NM>
                </Table>
            </NewDataSet>
        </diffgr:diffgram>
    </DataTable>
<!DOCTYPE html>
<html>
<head>
    <title></title>
    <link href="../Content/kendo/2012.3.1114/kendo.common.min.css" rel="stylesheet" type="text/css" />
    <link href="../Content/kendo/2012.3.1114/kendo.default.min.css" rel="stylesheet" type="text/css" />
    <script src="../Scripts/jquery-1.8.2.min.js" type="text/javascript"></script>
    <script src="../Scripts/kendo.all.min.js" type="text/javascript"></script>
</head>
<body>
    <div id="grid" style="height: 400px; width: 900px;">
    </div>
    <script type="text/javascript">
        var myWebServiceUrl = 'wMDTData.asmx';

        var myGridData = new kendo.data.DataSource({
            transport: {
                read: {
                    url: myWebServiceUrl + "/Read",
                    dataType: "json",
                    type: "post",
                    contentType: "application/json; charset=utf-8"
                }
            },
            schema: {
                data: "d"
            }
        });

        myGridData.read();

        $("#grid").kendoGrid({ dataSource: myGridData });
    </script>
</body>
</html>