我使用Kendo Grid进行内联编辑.当我单击"更新"按钮时,将使用此签名对我的控制器方法进行POST.控制器操作被命中,因此POST正在运行.
[HttpPost]
public HttpResponseMessage SaveAccountAdmin(string jsonCompanyContacts)
Run Code Online (Sandbox Code Playgroud)
但是,更新操作中的POST数据永远不会到达 - 它始终为null.
update: {
url: "/Company/SaveAccountAdmin",
contentType: "application/json; charset=utf-8",
type: "POST",
dataType: "json",
data: {
jsonCompanyContacts: "John Doe"
}
},
Run Code Online (Sandbox Code Playgroud)
这是完整的数据源代码.
var dataSource = new kendo.data.DataSource(
{
batch: false,
pageSize: 10,
transport: {
create: {
url: "/Company/SaveAccountAdmin",
contentType: "application/json; charset=utf-8",
type: "POST",
dataType: "json"
},
read: {
url: "/Company/ReadAccountAdmin"
},
update: {
url: "/Company/SaveAccountAdmin",
contentType: "application/json; charset=utf-8",
type: "POST",
dataType: "json",
data: {
jsonCompanyContacts: "John Doe"
}
},
//destroy: {},
parameterMap: function …Run Code Online (Sandbox Code Playgroud) 我正在使用kendo ui网格.因为我已经使用批处理模式来保存值.如果我在一行中更改记录,那么具有相应行的值也将被更改,当我们单击保存时,这两个字段将保存到数据库中.
例如.我有一个网格像:
Integer Value
1 First
2 Second
3 Third
4 Fourth
Run Code Online (Sandbox Code Playgroud)
如果我将值1更改为4,那么将更改4并且值也会动态更改.我的意思是我想在这里交换1和4.而且我也可以更改剩余的所有字段,但最后所有记录都必须保存到数据库中.我试过像
此代码将在网格更改功能中
var grid = $('#grid').data("kendoGrid");
var selectedRow = grid.select();
var selectedRowIndex = selectedRow.index();
console.log(selectedRowIndex);
var firstItem = dataSource.data()[selectedRowIndex];
var datalength = dataSource.data();
for (var i = 0; i < datalength.length; i++)
{
var dataItem = datalength[i].id;
if (dataItem == firstItem.get('id'))
{
var secondItem = dataSource.data()[i];
secondItem.set('id', dataItem);
}
}
Run Code Online (Sandbox Code Playgroud)
然后值正在变化,但值在更改后未传递给控制器.
我正在尝试从javascript绑定到可滚动的kendo网格,并且列宽有一些问题.这个小提琴演示了这个问题(问题末尾的代码).我在html中指定标题并为其中一个标题添加宽度.然后javascript设置dataSource(在生产代码中,这是通过ajax调用完成的).
我想避免在javascript中设置columns.width属性,因为
我确实理解这个功能是由于kendo创建了两个网格,一个用于标题,另一个用于滚动内容.但是,我过去使用的其他类似控件的libs总是复制两个网格之间的样式信息,以便在保持两个表同步的同时促进声明式样式 - 我只是不确定"kendo"是什么对此的方式是.
来自小提琴的HTML
<table>
<thead>
<th class="p20" data-field="status">Status</th>
<th data-field="description">Description</th>
</thead>
</table>
Run Code Online (Sandbox Code Playgroud)
使用Javascript
$('table').kendoGrid({
dataSource: [
{ status: 'On', description: 'a longer description' },
{ status: 'On', description: 'a longer description' },
{ status: 'On', description: 'a longer description' },
{ status: 'On', description: 'a longer description' },
{ status: 'On', description: 'a longer description' },
{ status: 'On', description: 'a longer description' }
],
scrollable: true
});
Run Code Online (Sandbox Code Playgroud)
CSS
.k-grid-content {
height: 100px; …Run Code Online (Sandbox Code Playgroud) 我在网格定义中有一个启用了选择模式的网格
selectable: true
Run Code Online (Sandbox Code Playgroud)
我需要通过按钮使网格不可选.我尝试过这个,但它不起作用:
$("#disableKendoGrid").click(function () {
var grid = $("#myGrid").data("kendoGrid");
grid.options.selectable = false;
grid.refresh();
});
Run Code Online (Sandbox Code Playgroud) 我有一个剑道网格:
$('#myGrid').kendoGrid({
...
scrollable: false,
...
});
Run Code Online (Sandbox Code Playgroud)
然后我想改变它的可滚动属性.我已经尝试了以下所有方法:
$('#myGrid').data("kendoGrid").options.scrollable = true;
$('#myGrid').data("kendoGrid").refresh();
Run Code Online (Sandbox Code Playgroud)
-
$('#myGrid').data("kendoGrid").scrollable = true;
$('#myGrid').data("kendoGrid").refresh();
Run Code Online (Sandbox Code Playgroud)
-
var MyGrid = $('#myGrid').data("kendoGrid");
MyGrid.options.scrollable = true;
MyGrid.refresh();
Run Code Online (Sandbox Code Playgroud)
-
var MyGrid = $('#myGrid').data("kendoGrid");
MyGrid.scrollable = true;
MyGrid.refresh();
Run Code Online (Sandbox Code Playgroud)
什么都行不通.如何改变网格是否可以动态滚动?
试图找出剑道世界,并将网格设置为json数组数据源.
Error is "JavaScript runtime error: Invalid template: <tr
data-uid="#=data.uid#" role='row'><td role='gridcell'>#=data.Account
Num==null?'':data.Account Num#</td>...".
Run Code Online (Sandbox Code Playgroud)
我注意到在这个错误中我看到空值,想知道这是否意味着数据没有绑定?
我看到列标题,但不是任何行.我还必须提一下,我的数据中没有任何ID字段,因为我正在使用SQL视图中的临时表.
function populateGrid(search) {
$("#grdAttributes").kendoGrid({
dataSource: {
transport: {
read: {
url: "http://127.0.0.2:6080/arcgis/rest/services/WW/WW2/MapServer/exts/RestSOE/Search%20Query?columnName=" + search.columnName + "&operand=" + search.operand + "&searchVal=" + search.searchVal + "&f=",
dataType: "json",
type: 'GET'
}
},
},
serverPaging: true,
serverSorting: true,
serverFiltering: true,
scrollable: true,
height: 150
});
$("#grdAttributes").data().kendoGrid.dataSource.view()
};
Run Code Online (Sandbox Code Playgroud)
如果我继续VS2012中的错误,我会看到网格中的列标题.只是没有行数据.(示例JSON下面:)
-[{
-"Address": "PO BOX 20",
-"City": "HAVENWOOD",
-"Location": "",
-"Name 1": "UNIVERSITY",
-"Name 2": "",
-"Street": "NEY AVE",
-"Street …Run Code Online (Sandbox Code Playgroud) 我有以下困境:
我正在尝试在局部视图内制作Kendo UI网格,该视图将与不同类型的对象一起使用,并且可以支持诸如Delete或Create之类的操作。
该对象如下所示:
public class GridViewModel
{
public Type ObjectType { get; set; }
public IEnumerable<object> Items { get; set; }
public GridViewModel(Type type, IEnumerable<object> items)
{
Items = items;
ObjectType = type;
}
}
Run Code Online (Sandbox Code Playgroud)
ObjectType是类型类型的变量,该变量保留类的类型。例如员工,产品,发票或其他任何东西。
Items是前面提到的类型的IEnumerable对象列表。
假设我们有一个Employee View,我们在以下内部调用:
@model IEnumerable<Employee>
@{
GridViewModel gridModel = new GridViewModel(typeof(Employee), Model);
}
@{
Html.RenderPartial("_AdvancedGrid", gridModel);
}
Run Code Online (Sandbox Code Playgroud)
这样,我们以指定对象作为模型加载局部视图。
现在,Kendo UI Grid在局部视图内:
@model XMLProject.Models.GridViewModel
@{
System.Reflection.PropertyInfo[] propertyArray = Model.ObjectType.GetProperties();
}
@(Html.Kendo().Grid<Employee>()
.Name("Grid")
.Columns(columns =>
{
foreach (var property in propertyArray)
{
columns.Bound(property.Name);
}
columns.Command(c …Run Code Online (Sandbox Code Playgroud) Hello使用类似于此示例的复选框实现了自定义筛选器菜单:
http://dojo.telerik.com/@SiliconSoul/oBoCu
我的问题是,如果用户选择/取消选择一些复选框,但从不点击"过滤"按钮.我基本上想将他们的选择重置为菜单关闭之前他们最初的选择但不认为过滤器菜单有这样的事件.
如何绑定菜单关闭?
我想每列禁用(或者可能定义一些自定义列表)运算符.我尝试在列定义中执行此操作:
"field": "Name",
"title": "name",
"attributes": {
"class": "nameCell"
},
"filterable": {
"operators": gridTranslationService.getHierarchyOperators()
}
Run Code Online (Sandbox Code Playgroud)
但它不适合我.任何sugestions我怎么能这样做?
我们正在使用React和Kendo:
kendo-ui-core": "^2017.2.621
kendo-ui-react": "^0.14.2
react-kendo": "^0.13.11
Run Code Online (Sandbox Code Playgroud)
试图显示一个可分页的网格。数据从reducer加载并进入状态。它componentWillMount正在将gridOptions设置为状态。在render函数期间,我们获得选项并将数据行和列添加到数据源中。
我们可以获取它来显示数据,格式化列,还可以使分页图标显示在底部,但它会显示no items to display。
API调用将返回50个结果,如果我们删除页面大小,则会显示所有50个结果。
import React, { Component } from "react";
import { withRouter, NavLink } from "react-router-dom";
import { connect } from "react-redux";
import { getDataBookings } from "./actions";
import { Grid } from 'kendo-ui-react'
class DataBookings extends Component {
componentWillMount(){
this.state = {
gridOptions: {
toolbar: ["excel"],
excel: {
fileName: "bookingsExport.xlsx"
},
sortable: {
mode: "multiple",
allowUnsort: true
},
scrollable: true,
resizable: true,
editable: false, …Run Code Online (Sandbox Code Playgroud)