我目前正在测试Kendo UI MVC Extensions Beta.我正在尝试实现双击 - 编辑,但我不知道如何获得rowId.
JavaScript的:
$('#GridPedidos table tr').live('dblclick', function () {
alert(' grid dbl clicked');
});
Run Code Online (Sandbox Code Playgroud)
视图:
@(Html.Kendo().Grid(Model) _
.Name("GridPedidos") _
.Columns(Sub(column)
column.Bound(Function(item) item.idPedidoDocumentacao).Width("5%")
column.Bound(Function(item) item.descEstadoPedidoDoc).Width("25%")
column.Bound(Function(item) item.descTipoPedidoDoc).Width("25%")
column.Bound(Function(item) item.data).Width("25%").Format("{0:dd-MM-yyyy}")
column.Command(Function(item) item.Destroy()).Width("10%")
End Sub) _
.DataSource(Sub(ds)
ds.Ajax().ServerOperation(False).Read(Sub(s)
s.Action("GetListaGrid", "listaPedidos")
End Sub).Create(Sub(s)
s.Action("detalhePedido", "Pedidos")
End Sub).Model(Sub(m)
m.Id(Function(p) p.idPedidoDocumentacao)
End Sub).Destroy(Sub(d)
d.Action("apagaPedido", "listaPedidos")
End Sub)
End Sub) _
.Selectable()
)
Run Code Online (Sandbox Code Playgroud)
我可以通过此功能检测到双击,但我如何获取ID?
我发布了一个kendoui网格并且它没有发送数据,我无法看到我所做的与失败的样本有什么不同.我发布到控制器,但它是空的(如果批处理:true或null,如果批处理:false)
var crudServiceBaseUrl = "api/Certifications/",
dataSource = new kendo.data.DataSource({
transport: {
read: {
url: crudServiceBaseUrl + member.id,
dataType: "json"
},
update: {
url: crudServiceBaseUrl,
type: "Post",
dataType: "json"
},
destroy: {
url: crudServiceBaseUrl,
type: "Delete",
contentType: "application/json; charset=utf-8",
dataType: "json"
},
create: {
url: crudServiceBaseUrl,
type: "Post",
dataType: "json"
},
parameterMap: function (options, operation) {
if (operation !== "read" && options.models) {
return {models: kendo.stringify(options.models)};
}
}
},
editable: { //disables the deletion functionality
update: true,
destroy: true …Run Code Online (Sandbox Code Playgroud) 我正在使用此代码获取我的数据并将其推送到Kendo Grid
public ActionResult Read([DataSourceRequest] DataSourceRequest request)
{
return Json(GetData(request), JsonRequestBehavior.AllowGet);
}
private DataSourceResult GetData(DataSourceRequest request)
{
var Items = _db.Item.Local.ToDataSourceResult(request, x => new
{
ID = x.ID,
Title = x.Title,
LastEdited = x.User.LoginName,
Category = x.CategoryItem.Title,
DateEdited = x.DateEdited
});
return Items;
}
Run Code Online (Sandbox Code Playgroud)
在Grid的视图中不使用任何模型,让Grid计算出所有内容.一切正常,我也可以浏览页面.但是,当我添加一个排序方法时,它会抛出这个异常,例如:
Invalid property or field - 'Category' for type: Item
Run Code Online (Sandbox Code Playgroud)
并且每个后续请求都会失败,因为它在DataSourceRequest中具有排序,直到我重新加载页面以清除请求.我是否在配置方面遗漏了一些我需要添加到此代码中的内容?
我的示例数据列表视图网格结构是这样的.
<div id="listView">
<div class="product"><h3>India</h3></div>
<div class="product1"><h3>Gujarat</h3></div>
<div class="product"><h3>Surat</h3></div>
</div>
Run Code Online (Sandbox Code Playgroud)
我想删除listview数据源中的所有数据项.我使用kendo ui autocomplete进行搜索,并在数据源网格中添加新数据.所以每当我添加新的旧数据将删除并添加新数据.
所以如果你知道那么请回复.
我kendoGrid在页面上跟随加载JSON从指定的URL 接收对象.
但后来我想将它绑定JSON到从其他来源收到的其他数据.有没有办法可以使用新JSON对象绑定刷新包含网格的现有数据?
$('#grid').kendoGrid({
sortable: true,
groupable: true,
scrollable: true,
pageable: {
pageSizes: 9
},
dataSource: {
transport: {
read: {
url: "../Get/JsonData",
dataType: "Json"
}
}
},
columns: [
{ field: "name", title: "Name", width: 100 },
... ...
]
});
Run Code Online (Sandbox Code Playgroud) 我有一个使用自定义弹出编辑器的Kendo Grid.其中一个字段是使用远程数据源的Kendo下拉列表.
当用户进行选择时,使用与所选项目相关联的数据来更新弹出编辑器中的几个其他字段model.set.
这很有效:模型和字段都会更新.
但是,如果我然后添加required validationMessage="This field is required"到正在更新的字段,model.set则会触发验证错误,并且不会更新字段.
我已经设置了一个JSFiddle来演示这个问题.在这种情况下,可以通过单击Set Product按钮来设置自定义弹出编辑器中的ProductName .您会注意到触发了验证错误,但如果required从字段中删除该属性,则会正确更新.
这是一个错误吗?为什么在设置值时会触发验证错误?
编辑:只是为了澄清 - 这是在添加新记录时,而不是编辑现有记录.
我搜索数据然后绑定到我的网格.在网格databound事件中,我根据单元格的值更改行背景颜色.这很好用.但是当我单击网格中的"编辑"按钮然后单击"取消"按钮时,网格不再具有背景颜色集.我试图在databound事件中调用该事件Cancel,但它不起作用.如何防止取消事件更改网格颜色?
格
@(Html.Kendo().Grid(Model)
.Name("mygrid")
.Events(e=>e.DataBound("dataBound"))
.Columns(columns =>
{
columns.Bound(p =>p.StudentName).Title("StudentName");
columns.Command(command =>
{
command.Edit().UpdateText("Edit");
command.Destroy().Text("Delete");
}).Width(160);
})
.Editable(editable => editable.Mode(GridEditMode.PopUp)
.TemplateName("SudentEditor")
.Window(configurator=>configurator.Width(500)
.Title("EditStudent")))
.Scrollable()
.Events(events=>events.Cancel("onCancel"))
.DataSource(dataSource => dataSource
.Ajax()
.PageSize(20)
.Model(model =>
{
model.Id(p => p.Id);
})
.Read(read => read.Action("GetStudentForGrid", "Student"))
.Create(create=>create.Action("CreateSudent","Equipment"))
.Update(update => update.Action("UpdateStudent", "Student"))
.Destroy(destory=>destory.Action("DestroyStudent","Student"))
.Events(events => events.Error("error_handler"))
))
Run Code Online (Sandbox Code Playgroud)
数据绑定事件
//change grid color
function dataBound(e) {
$("#mygrid tbody tr").each(function(i) {
$(this).find("td:lt(9)").css("backgroundColor", '#000000');
});
}
Run Code Online (Sandbox Code Playgroud)
取消活动
//I try to call preventDefault event and …Run Code Online (Sandbox Code Playgroud) 以前使用Kendo UI网格控件(版本2014.1.318)时,网格中任何行的高度都是固定的,椭圆用于显示单元格宽度之外的任何内容 - 看起来有点像下面的内容:

现在,自从我升级到最新版本的控件(2014.2.903)后,行的高度似乎会调整为适合内容:

该行的HTML现在包含下面的内嵌样式,而以前没有.
style="height: 45px;"
Run Code Online (Sandbox Code Playgroud)
我猜这是问题所在.我想知道是否有办法关闭此功能或在脚本中我可以删除它.我甚至无法找到发布历史中引入的内容!
编辑:我发现问题出在kendo.common.min.css文件中.如果我使用旧的,一切正常......只需要找到引起问题的新风格
我使用下面的代码来获取选定的代码,但是我需要获取当前的行索引来上下移动,如何获得选择的项目的行索引:我的代码:
$("#btnup").click(function () {
var grid = $("#grid").data("kendoGrid");
var selectedItem = grid.dataItem(grid.select());
if (selectedItem != undefined) {
alert("The Row Is SELECTED");
// here need row index
}
else
alert("NO Row Is SELECTED")
});
Run Code Online (Sandbox Code Playgroud) 我正在使用asp.net mvc并使用Kendo UI网格控件进行数据检索,将这些功能用于另一个应用程序,而不是在代码中解决问题.所有JavaScript和Kendo网格ui参考包括当我运行应用程序时我面临这些错误
$(document).ready(function()$未定义List:178 Uncaught TypeError:$(...).kendoDatePicker不是函数
多次.当我点击错误时,他们会在这一行显示错误
<script>
$(document).ready(function () {
$("#StartDate").kendoDatePicker();
});
Run Code Online (Sandbox Code Playgroud)
我在参考文献中添加了程序集,但注意到有成效.
kendo-grid ×10
kendo-ui ×9
javascript ×4
asp.net-mvc ×2
telerik ×2
c# ×1
jquery ×1
json ×1
kendo-ui-mvc ×1
telerik-grid ×1