尝试从本地数据源在我的kendo UI网格上设置默认排序列.我已经阅读了我应该提出的所有内容:
sort: { field: "price", dir: "desc" }
Run Code Online (Sandbox Code Playgroud)
到数据源.我试过这个但它仍然无法工作(参见下面示例的底部).
这是我的完整代码,我哪里错了?
$('#grid').kendoGrid({
dataSource: [
{
date: "Feb 13 2014",
price: 5,
},
{
date: "Feb 15 2014",
price: 7,
},
{
date: "Feb 12 2014",
price: 6,
}
],
height:500,
sortable: true,
pageable: false,
columns: [
{
field: "date",
title: "Date"
},
{
field: "price",
title: "Price",
}
],
sort: {field: "price", dir: "desc"}
});
Run Code Online (Sandbox Code Playgroud) 最近我们想改变我们当前的网格工具.目前我们正在使用kendo-ui进行网格和所有.搜索后我们得到了3个结果.但是,我们仍然不确定哪个更好,为什么在未来的运行.
使用剑道时,我们错过了对它的控制权.如果任何人能帮助我们选择带有角度的正确网格,那将是一件好事.
假设我有这样的数据:
[
{ID: 1, SomeForeignKeyID: 4, IsFkEnabled: true},
{ID: 2, SomeForeignKeyID: 9, IsFkEnabled: false}
]
Run Code Online (Sandbox Code Playgroud)
Kendo Grid正在使用这些数据:
columns.Bound(m => m.ID);
columns.ForeignKey(p => p.SomeForeignKeyID, ViewBag.ForeignKeys as IEnumerable<object>, "Value", "Name");
Run Code Online (Sandbox Code Playgroud)
这是问题所在:如何使ForeignKey列可编辑,但只能在行中,IsFkEnabled == true?编辑模式是InCell.
我在用Kendo grid.
我想删除所有Kendo grid使用的行JavaScript.
我使用for循环删除它们但我想找到删除所有行的最佳方法.
有没有办法在通过ajax重新加载网格后触发事件?
我看到了RequestEnd事件.但这似乎发生在请求返回时,但在网格刷新之前.
我也看到了DataBound事件.但这比RequestEnd更早发生,
同样当我实现DataBound事件时,我的标题消失了..
我不得不诉诸这个黑客
function requestEnd(o) {
console.debug('request ended.', o);
setTimeout(refreshEditable, 500); // enough time to render the grid
}
function refreshEditable() {
// perform my actions on controls within grid content
}
Run Code Online (Sandbox Code Playgroud)
作为旁注..我很难找到可靠的kendo grid mvc API参考.当我谷歌为它,我得到这个:http: //docs.telerik.com/kendo-ui/getting-started/using-kendo-with/aspnet-mvc/migration/widgets/grid 这是一个很小的集合 - 和一些"事件",但那些不符合我在razor intelisense中看到的.
更新:添加数据绑定定义
$('#grid').kendoGrid({
dataBound: function(e) {
console.debug('data bound..');
}
});
Run Code Online (Sandbox Code Playgroud)
这里是网格ajax的定义
.Ajax().Read(read => read
.Action("FilesRead", "SomeController")
.Data("readData"))
function readData() {
return {
IncludeChildren: $("#IncludeChildren").is(':checked'),
SearchString: $('input[id=SearchString]').val()
};
}
Run Code Online (Sandbox Code Playgroud)
我可以看到在进行ajax调用时触发DataBound,而不是在它返回后触发.
更新
更正了DataBound事件挂钩. …
我只是想知道如何在JavaScript中更改网格中行的值,以便在网格和基础数据源中将其标记为"脏".
例如,我有一个联系人/客户列表.他们有3个字段FirstName/LastName/IsPrimaryContact.只能有1个主要联系人,因此当记录中的主要联系人设置为"真"时,我会使用JavaScript代码循环遍历数据源,并将设置为primary的所有其他联系人设置为false.
JavaScript全部触发正常并且数据字段设置正确但有两个问题:1.网格未更新我对数据源2进行的更改.更改的记录未标记为"脏",因此当我调用Datasource.sync()时没有同步
我可以通过手动设置记录上的脏字段来解决第二个问题,但这似乎不正确.感觉我应该在网格级别更新字段,以便在UI和数据源中处理它.
关于如何解决这个问题的任何想法?
谢谢
有没有办法隐藏编辑弹出窗口中仍然可以在网格中看到的字段?
我试过将它设置为隐藏:true,但是kendo似乎忽略了它.当editable设置为false时,它会隐藏文本框,但仍会显示字段标签.是否有可能摆脱标签和文本框?
我的数据源:
schema: {
total: "Total",
data: "Data",
model:{
id:"Id",
fields:{
Id:{ visible: false, editable:false },
Name:{ editable:true },
NumberOfUsers:{ hidden:true, editable:false }
}
}
}
Run Code Online (Sandbox Code Playgroud) 在Kendo网格中有此列当前显示MySQL布尔值,因此我们有1或0.
这在autosync和inline:true网格中.
我希望这个列的类型为"Checkbox"但是,由于一些奇怪的原因,我只是在网络上找不到一个演示或示例,显示"启用"复选框,在取消选中时将1更改为0并且副Versa.
嗨,我有一个像下面的剑道网格,我想检查列的空值,并根据条件我想显示一些默认的数字到列
这是我的示例代码.
$("#eCount").kendoGrid({
dataSource: {
data: myModel,
pageSize: 5
},
columns: [
{
field: "Count",
title: "Count",
template: '# if (Count == "null" ) {#1#} else {#Count#}#'
}]
});
Run Code Online (Sandbox Code Playgroud)
但我没有得到如何完成它.有解决方案吗
如何在条件或事件中隐藏/显示和启用/禁用剑道网格中的列.我只能在.model中找到启用/禁用kendogrid列的选项
任何帮助表示赞赏.
先感谢您!
kendo-grid ×10
kendo-ui ×8
javascript ×4
ag-grid ×1
angularjs ×1
data-binding ×1
jquery ×1
slickgrid ×1
telerik ×1
telerik-grid ×1
templates ×1