jQuery的Telerik Kendo网格不显示数据

如何解决jQuery的Telerik Kendo网格不显示数据

我的剑道网格定义如下:

for item in string:
    if item == "(":
        matchingbraceindex = string.find(")",item)

    elif item == ")":
        matchingbraceindex = string.rfind("(",item)

对于后端,我正在使用ServiceStack,请求的定义如下:

var dataSource = new kendo.data.DataSource({
batch: false,autoSync: true,transport: {
    read: {
        url: "/monitoring/matrix/routecontentrules?format=json",contentType: "application/json; charset=utf-8",dataType: "json",type: "POST",timeout: 30000
    },update: {
        url: "/monitoring/matrix/routecontentrules/updateroutecontentrule",type: "PUT"
    },create: {
        url: "/monitoring/matrix/routecontentrules/createroutecontentrule",type: "POST"
    },destroy: {
        url: "/monitoring/matrix/routecontentrules/deleteroutecontentrule",type: "DELETE"
    },parameterMap: function (data,operation) {
        if (operation == "read") {
            return kendo.stringify({
                RouteId: routeDataItem.RouteId
            });
        }
        else if (operation == "destroy") {
            return kendo.stringify({
                Id: data.Id,});
        }
        else {
            return kendo.stringify({
                Id: data.Id,RouteId: routeDataItem.RouteId,OrderId: data.OrderId,SenderMatch: data.SenderMatch,ContentMatch: data.ContentMatch,SenderReplace: data.SenderReplace,ContentReplace: data.ContentReplace,});
        }
    }
},schema: {
    model: {
        id: "Id",fields: {
            Id: { type: "number",defaultValue: 0 },OrderId: { type: "number",SenderMatch: { type: "string",defaultValue: "" },ContentMatch: { type: "string",SenderReplace: { type: "string",ContentReplace: { type: "string",defaultValue: "" }
        }
    }
}});$("#Grid").kendoGrid({
dataSource: dataSource,reorderable: false,resizable: false,sortable: false,groupable: false,scrollable: true,navigatable: true,editable: true,columns: [
    {
        width: 150,field: "SenderMatch",title: "Sender match",template: "<span><label class='SenderMatch'</label></span>",headerAttributes: { title: "Sender match",style: "text-align: right" },attributes: { style: "text-align: right" }
    },{
        width: 150,field: "ContentMatch",title: "Content match",headerAttributes: { title: "Content match",field: "SenderReplace",title: "Sender replace",headerAttributes: { title: "Sender replace",field: "ContentReplace",title: "Content replace",headerAttributes: { title: "Content replace",{
        command: [
            { name: "destroy",template: "<a class='k-button k-grid-delete delete'><span class='k-sprite px-sprite px-i-sm-trash'></span></a>" }
        ],width: "50px"
    }
],toolbar: kendo.template('<span class="ReloadManipulationByCustomer" style=""><span class="k-icon k-i-refresh refresh-btn"></span></span><a class="k-button k-grid-add add-btn" href="javascript:void(0)"><span class="k-sprite px-sprite px-i-sm-new new" />Add</a>')});$(".ReloadManipulationByCustomer").click(function () {
$("#Grid").data("kendoGrid").dataSource.read();});

用于检索数据的代码如下:

    [Route("/monitoring/matrix/routecontentrules/createroutecontentrule","POST")]
[Route("/monitoring/matrix/routecontentrules/updateroutecontentrule","PUT")]
public sealed class CreateUpdateRouteContentRuleRequest
{
    public int Id { get; set; }
 
    public int OrderId { get; set; }
 
    public int RouteId { get; set; }
 
    public string SenderMatch { get; set; }
 
    public string ContentMatch { get; set; }
 
    public string SenderReplace { get; set; }
 
    public string ContentReplace { get; set; }
}
 
[Route("/monitoring/matrix/routecontentrules")]
public sealed class RouteContentRulesRequest
{
    public int RouteId { get; set; }
}
 
[Route("/monitoring/matrix/routecontentrules/deleteroutecontentrule")]
public sealed class DeleteRouteContentRuleRequest
{
    public int Id { get; set; }
}
 
public sealed class RouteContentRuleModel
{
    public int Id { get; set; }
 
    public int OrderId { get; set; }
 
    public int RouteId { get; set; }
 
    public string SenderMatch { get; set; }
 
    public string ContentMatch { get; set; }
 
    public string SenderReplace { get; set; }
 
    public string ContentReplace { get; set; }
}

读取请求期间的数据如下:

    public object Post(RouteContentRulesRequest request)
{
    return _dbConnectionFactory
        .OpenReadOnlyAndRun(dbConn => dbConn.Select<RouteContentRule>(r => r.RouteId == request.RouteId).OrderBy(r => r.OrderId));
}

public object Any(CreateUpdateRouteContentRuleRequest request)
{
    RouteContentRule entity;

    if (!Db.Exists<Route>(new { Id = request.RouteId }))
    {
        throw new HttpError(HttpStatusCode.BadRequest,$"Route with id {request.RouteId} does not exist");
    }
    if (request.Id != 0)
    {
        var routeContentRule = _dbConnectionFactory.OpenReadOnlyAndRun(dbConn => dbConn.SingleById<RouteContentRule>(request.Id));
        entity = request.ToEntity(routeContentRule);
        Db.Update(entity,r => r.Id == routeContentRule.Id);
        return entity.ToModel();
    }

    entity = request.ToEntity();
    entity.OrderId = (_dbConnectionFactory.OpenReadOnlyAndRun(dbConn => dbConn.Scalar<RouteContentRule,int?>(x => Sql.Max(x.OrderId),x => x.RouteId == request.RouteId)) ?? 0) + 1;
    var id = (int)Db.Insert(entity,true);
    entity.Id = id;

    return entity.ToModel();
}

public void Delete(DeleteRouteContentRuleRequest request)
{
    Db.Delete<RouteContentRule>(new {Id = request.Id});
}

以下是来自Chrome开发者工具的图像:

server request

preview

response

问题是网格未显示这些数据。如果单击网格单元,我可以看到数据在这里。在这种情况下,该单元格变为可编辑状态,并显示数据的当前值。但是,一旦我将编辑移至某些新单元格之前,就会隐藏数据。我正在检查单元格,发现单元格未编辑时,描述如下:

    [
   {
      "Id":35,"OrderId":1,"RouteId":72303,"SenderMatch":"335","ContentMatch":"","SenderReplace":"","ContentReplace":""
   },{
      "Id":36,"OrderId":2,"SenderMatch":"55","ContentReplace":""
   }
]

当单元格处于edding模式时,其在html中的描述如下:

    <td style="text-align: right" aria-describedby="50349c08-da61-49d2-aa73-9c0823d4a4a4" role="gridcell">
    <span><label class="SenderMatch" <="" label=""></label></span>
</td>

我不知道为什么没有显示数据。据我所知,它应该显示数据,但不显示此数据。

解决方法

为什么将[Route]属性放在课程中....?它们应该位于Controller的{​​{1}}上。

然后,您可以打开Chrome的开发工具,然后查看Action标签,以检查数据是否正在发送到后端。

您可以粘贴network的图片,以便在您认为应该获取数据时向我们展示,然后我们可以检查出什么问题。

,

我找出了问题所在。

columns: [
{
    width: 150,field: "SenderMatch",title: "Sender match",template: "<span><label class='SenderMatch'</label></span>",headerAttributes: { title: "Sender match",style: "text-align: right" },attributes: { style: "text-align: right" }
},{
    width: 150,field: "ContentMatch",title: "Content match",headerAttributes: { title: "Content match",field: "SenderReplace",title: "Sender replace",headerAttributes: { title: "Sender replace",field: "ContentReplace",title: "Content replace",headerAttributes: { title: "Content replace",{
    command: [
        { name: "destroy",template: "<a class='k-button k-grid-delete delete'><span class='k-sprite px-sprite px-i-sm-trash'></span></a>" }
    ],width: "50px"
}],

模板是错误的。我删除了它们,现在显示了数据。命令模板仍然有效。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


依赖报错 idea导入项目后依赖报错,解决方案:https://blog.csdn.net/weixin_42420249/article/details/81191861 依赖版本报错:更换其他版本 无法下载依赖可参考:https://blog.csdn.net/weixin_42628809/a
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下 2021-12-03 13:33:33.927 ERROR 7228 [ main] o.s.b.d.LoggingFailureAnalysisReporter : *************************** APPL
错误1:gradle项目控制台输出为乱码 # 解决方案:https://blog.csdn.net/weixin_43501566/article/details/112482302 # 在gradle-wrapper.properties 添加以下内容 org.gradle.jvmargs=-Df
错误还原:在查询的过程中,传入的workType为0时,该条件不起作用 &lt;select id=&quot;xxx&quot;&gt; SELECT di.id, di.name, di.work_type, di.updated... &lt;where&gt; &lt;if test=&qu
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct redisServer’没有名为‘server_cpulist’的成员 redisSetCpuAffinity(server.server_cpulist); ^ server.c: 在函数‘hasActiveC
解决方案1 1、改项目中.idea/workspace.xml配置文件,增加dynamic.classpath参数 2、搜索PropertiesComponent,添加如下 &lt;property name=&quot;dynamic.classpath&quot; value=&quot;tru
删除根组件app.vue中的默认代码后报错:Module Error (from ./node_modules/eslint-loader/index.js): 解决方案:关闭ESlint代码检测,在项目根目录创建vue.config.js,在文件中添加 module.exports = { lin
查看spark默认的python版本 [root@master day27]# pyspark /home/software/spark-2.3.4-bin-hadoop2.7/conf/spark-env.sh: line 2: /usr/local/hadoop/bin/hadoop: No s
使用本地python环境可以成功执行 import pandas as pd import matplotlib.pyplot as plt # 设置字体 plt.rcParams[&#39;font.sans-serif&#39;] = [&#39;SimHei&#39;] # 能正确显示负号 p
错误1:Request method ‘DELETE‘ not supported 错误还原:controller层有一个接口,访问该接口时报错:Request method ‘DELETE‘ not supported 错误原因:没有接收到前端传入的参数,修改为如下 参考 错误2:cannot r
错误1:启动docker镜像时报错:Error response from daemon: driver failed programming external connectivity on endpoint quirky_allen 解决方法:重启docker -&gt; systemctl r
错误1:private field ‘xxx‘ is never assigned 按Altʾnter快捷键,选择第2项 参考:https://blog.csdn.net/shi_hong_fei_hei/article/details/88814070 错误2:启动时报错,不能找到主启动类 #
报错如下,通过源不能下载,最后警告pip需升级版本 Requirement already satisfied: pip in c:\users\ychen\appdata\local\programs\python\python310\lib\site-packages (22.0.4) Coll
错误1:maven打包报错 错误还原:使用maven打包项目时报错如下 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources (default-resources)
错误1:服务调用时报错 服务消费者模块assess通过openFeign调用服务提供者模块hires 如下为服务提供者模块hires的控制层接口 @RestController @RequestMapping(&quot;/hires&quot;) public class FeignControl
错误1:运行项目后报如下错误 解决方案 报错2:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project sb 解决方案:在pom.
参考 错误原因 过滤器或拦截器在生效时,redisTemplate还没有注入 解决方案:在注入容器时就生效 @Component //项目运行时就注入Spring容器 public class RedisBean { @Resource private RedisTemplate&lt;String
使用vite构建项目报错 C:\Users\ychen\work&gt;npm init @vitejs/app @vitejs/create-app is deprecated, use npm init vite instead C:\Users\ychen\AppData\Local\npm-