我正在准备样本报告屏幕, 用户将从dropdownBox中选择报告并填写一些特殊选项。 点击搜索按钮(Sorgula)后,它会从ReportController点击Read动作。
这个控制器返回列表(不管你怎么样)作为Json
现在这是有效的。 但Telerik Grid添加了我从未添加到结果中的不同列。
我定义的网格上没有列。因为列必须根据json结果发生
现在我的网格创建查询
0 days 2 hours
5 days 1 hour
0 days 0 hours
0 days 0 hours
0 days 0 hours
0 days 0 hours
阅读行动
$("#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",
},
},
},
}),
});
结果。如您所见,id,parentId,orderId,Title vs尚未由我定义。
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);
}
答案 0 :(得分:0)
原因是网格数据源。我习惯了kendo.data.GanttDataSource grand datasource添加自动列。
当我尝试使用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;
}
}
}),