【问题标题】:Telerik grid showing non-existent columns ASP.NET MVCTelerik 网格显示不存在的列 ASP.NET MVC
【发布时间】:2017-04-11 13:52:50
【问题描述】:

我正在准备样本报告屏幕, 用户将从下拉框中选择报告并填写一些特殊选项。 单击搜索按钮(Sorgula)后,它会从 ReportController 中触发读取操作。

这个控制器以 Json 的形式返回列表(无论你想要什么)

现在这正在工作。 但是 Telerik Grid 添加了我从未添加到结果中的不同列。

我定义的网格上没有列。因为列必须根据json结果出现

现在我的网格创建查询

$("#ReportResult").kendoGrid({
        selectable: "multiple cell",
        allowCopy: true,
        height: 550,
        groupable: true,
        pageable: true,
        sortable: true,

        pageable: {
             input: true,
            numeric: false
        },

        dataSource: new kendo.data.GanttDataSource({
            pageSize: 20,
            serverPaging: true,
            serverFiltering: true,
            serverSorting: true,
             transport: {
            read: {
                url: '<%= Url.Action("Read", "Report") %>',
                dataType: "json",
                type: "POST",
                data: {
                    ReportID: 1,
                    OrganizationID: 2,
                    StartDate: "22",
                    EndDate: "11",
                    UserName:"dds",
                },
            },
        },

        }),


    });

读取动作

public ActionResult Read([DataSourceRequest] DataSourceRequest request, int ReportID,int OrganizationID,string StartDate,string EndDate,string UserName)
    {

        List<COnsumersReport> lis = new List<COnsumersReport>();
        for (int i = 0; i < 99; i++)
        {
            COnsumersReport cc = new COnsumersReport();
            cc.ID = i;
            cc.name = "semih";
            cc.sirname = "Yıldız";
            cc.Borc =i*20.5;
            lis.Add(cc);
        }


        return Json(lis);
    }

结果。如您所见,我没有定义 id,parentId,orderId,Title vs。

    public class COnsumersReport
    {
        public int ID { get; set; }
        public string  name { get; set; }
        public string sirname { get; set; }
        public double Borc { get; set; }
    }

【问题讨论】:

  • 谢谢@PierreLebon,但这不适合我。因为我不知道哪些列名将来自数据源。此网格应显示所有对象列表
  • CONsumersReport 对象是否具有所有这些额外属性?如果是这样,那么您在调用 new CONsumersReport() 时正在定义它们。使用其他对象绑定到仅包含所需字段的对象。
  • @Seano666 消费者报告只有 4 列
  • 你能发布你在视图中声明你的网格的代码吗?这是您遗漏的重要组成部分。 #ReportResult

标签: jquery gridview dynamic telerik advanced-custom-fields


【解决方案1】:

原因是网格数据源。我已经习惯了 kendo.data.GanttDataSource 大数据源添加自动列。

当我尝试使用 kendo.data.DataSource 时问题已修复。

 dataSource: new kendo.data.DataSource({
        pageSize: 100,
        serverPaging: true,
            transport: {
                read:  {
                    url: '<%= Url.Action("Read", "Report") %>',
                    dataType: "json", 
                    type: "GET",
                    data: {
                        ReportID: $('#Rapor').val(),
                        OrganizationID: $('#Organizations').val(),
                        StartDate: $('#datepicker').val(),
                        EndDate: $('#datepickerEndDate').val(),
                        UserName: $('#userName').val(),
                    },                        
                },                    
            },
        error: function (req, textStatus, errorThrown) {
            console.log("Error Verdi" + textStatus + ' ' + errorThrown);
        },
        schema: {
            total: function (response) {
            return ResultCount;
            } 
        }
       }), 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-16
    • 1970-01-01
    相关资源
    最近更新 更多