我正在尝试使用Kendo-UI网格和分页.一切似乎都可以用于Total属性,虽然我将它设置为100但它显示了10个项目中的1到10个页面大小我正在设置.谁有这个更好的成功?我搜索了剑道文档和论坛没有成功.
@(Html.Kendo().Grid(Model)
.Name("Grid")
.Columns(columns =>
{
foreach (System.Data.DataColumn column in Model.Columns)
{
columns.Bound(column.ColumnName);
}
})
.Pageable()
.Sortable()
.Scrollable()
.Filterable()
.Groupable()
.DataSource(dataSource => dataSource
.Ajax()
.PageSize(10)
.Total(100)
.Model(model =>
{
foreach (System.Data.DataColumn column in Model.Columns)
{
model.Field(column.ColumnName, column.DataType);
}
})
.Read(read => read.Action("Read", "Controls"))
)
Run Code Online (Sandbox Code Playgroud)
)
谢谢
我有一个带有自定义弹出窗口的kendoui网格进行编辑.
在这个弹出窗口中,我有一个绑定到网格值的输入:
<input type="text" class="k-input k-textbox" id="test" data-bind="value:SearchFilter">
Run Code Online (Sandbox Code Playgroud)
这很好用.单击网格中的编辑,更改文本框中的值,并将值传播到网格.
但现在我想在javascript中更改文本框的值..所以我现在有这个:
$('#test').val("testvalue");
Run Code Online (Sandbox Code Playgroud)
这确实会更改文本框的值,但在保存时,新值不会传播到网格.我猜是因为文本框上没有发生任何更改事件.
我该如何工作?
有没有人能够使用kendo UI网格的setdatasource方法?我相信这用于分配可以在以后阶段分配给网格的数据源,也可以用于网格刷新目的.但是我找不到任何适当的文档来解释如何使用这种方法并制作可刷新的网格.
我试图通过远程ajax调用更新我的数据源.我还假设通过将autosync属性设置为true来更新源时应该自动刷新.每次我点击日历控件我都会将日期值传递给GetRemoteData函数,以便通过ajax请求更新数据.
目前这不起作用.关于什么是解决方案的任何线索?
我的看法
$('#calendarContainer').kendoCalendar({
format: "dd/MM/yyyy",
culture: "en-GB",
change: onDateChange
});
function onDateChange() {
var selectedDate = kendo.toString(this.value(), 'dd/MM/yyyy');
GetRemoteData(selectedDate);
/*
$("#grid").data("kendoGrid").dataSource.data(bob);
$("#grid").data("kendoGrid").dataSource.read();
*/
}
$('#grid').kendoGrid({
dataSource:GetRemoteData(date),
scrollable: {
virtual: true
},
navigatable: true,
groupable: true,
sortable: true,
selectable: "row",
pageable: true,
pageable: {
input: true,
numeric: false
},
resizable: true,
reorderable: true,
filterable: {
extra: false
},
columns: [
{
field: "DealNumber",
width: 150,
title: "DealNumber",
filterable: {
operators: {
string: {
startswith: "Starts With",
contains: "Contains" …Run Code Online (Sandbox Code Playgroud) columns.Bound(p => p.Active).ClientTemplate("\\#if('#=Active#'=='Y') {\\<input type='button' value='OK' />\\}\\#").Width(150).Title("Status");
Run Code Online (Sandbox Code Playgroud)
但条件是字符串?
#if('Y'=='Y')`enter code here` {
<input type="button" value="OK">
}#
Run Code Online (Sandbox Code Playgroud) 我是一个Kendo UI新手.在我的Asp.Net MVC应用程序中,我使用Kendo UI Grid小部件并配置Grid,以便用户可以选择Grid行,如:
$("#gridSurvey").kendoGrid({
dataSource: {
type: "json",
transport: {
read: {
url: "/MyController/GetItemList",
...
selectable: "row",
change: function(e)
{
var entityGrid = $("#gridItems").data("kendoGrid");
_selectedItem = entityGrid.dataItem(entityGrid.select());
},
...
Run Code Online (Sandbox Code Playgroud)
默认情况下,当用户单击某一行时,所选网格行的选定行会突出显示某些内置颜色.如何自定义/将所选行的背景颜色更改为透明或其他颜色?我更喜欢透明的背景色.请帮忙.先感谢您.
我有一个剑道网格.当页面加载时,默认情况下我想按列1对网格进行排序,然后按列降序排序.
问题: 按预期排序,但排序箭头显示在最后排序的列上.因此,在下面的情况下,当页面加载时,排序箭头位于"DueDate"而不是"DownloadDate"
@(Html.Kendo().Grid<TrackingVM>()
.Name("Grid")
.Columns(col =>
{
col.Bound(p => p.ID).Hidden();
col.Bound(p => p.Year);
col.Bound(p => p.State);
col.Bound(p => p.DueDate).Format("{0:MM/dd/yyyy}");
col.Bound(p => p.DownloadDate).Format("{0:MM/dd/yyyy}");
})
.AutoBind(false)
.Pageable(x => x.PageSizes(UISettings.PageSizes))
.Sortable(x => x.AllowUnsort(false))
.Resizable(resizing => resizing.Columns(true))
.Scrollable(s => s.Height("auto"))
.DataSource(dataSource => dataSource
.Ajax()
.Sort(x => x.Add(y=>y.DownloadDate).Descending()).Sort(x=>x.Add(y=>y.DueDate).Descending())
.Read(read => read
.Action("GetData", "Tracking"))
.ServerOperation(false))
)
Run Code Online (Sandbox Code Playgroud) 我有一个空的div,我想使用来自Model..it的数据初始化为一个kendo网格应该是类似以下但我无法加载数据
$("#mapsDiv").kendoGrid({
sortable: true,
dataSource: {
transport: {
read:"/Home/About",
dataType: "odata"
},
pageSize: 5
},
pageable: true,
resizable: true,
columnMenu: true,
scrollable:true,
navigatable: true,
editable: "incell"
});
Run Code Online (Sandbox Code Playgroud)
About.cshtml
@model List<KendoExample.Entities.ShortStudent>
<div class="row">
<div class="col-md-12 table-responsive" id="mapsDiv">
</div>
Run Code Online (Sandbox Code Playgroud)
我的家庭控制器如下
List<ShortStudent> students = new List<ShortStudent>();
ShortStudent student1 = new ShortStudent();
student1.birthdate = new DateTime(1999, 4, 30);
student1.classname = "1B";
student1.firstname = "Fredie";
student1.surname = "Fletcher";
student1.studentid = 1;
ShortStudent student2 = new ShortStudent();
student2.birthdate = new DateTime(2010, 5, 4);
student2.classname …Run Code Online (Sandbox Code Playgroud) 当您使用MVVM绑定到Kendo UI Grid时,数据绑定将触发一次,一切都很好.如果您需要在事后更新该数据,则每次更改任何viewmodel(或子视图模型)上的一个数据时,整个网格都会重新数据绑定.因此,如果网格中有一些绑定到模板的单元格,并且您必须从某个外部ajax源更改viewmodel上的2或3个属性,则Databound将为每个更改的模型触发2或3次,从而导致整个可见区域重新绑定.我们怎样才能一次更新大量数据并且只有数据绑定一次?
我对Kendo Grid来说遇到了大麻烦.
如果我使用for循环作为客户端模板
col.Bound(m => m.Compteurs)
.ClientTemplate("# for (var i=0;i<4;i++) { console.log(i) } #");
Run Code Online (Sandbox Code Playgroud)
我永远不会增加.与循环中的while循环和增量相同.
怎么解决这个?
谢谢
编辑 - 网格的完整声明:
@(Html.Kendo().Grid<EAGLE.Models.ParamUf>()
.Name("ParamGrid")
.Columns(col =>
{
col.Bound(m => m.Groupement);
col.Bound(m => m.Etablissement).ClientTemplate("#= Etablissement.EtablissementName #");
col.Bound(m => m.Service).ClientTemplate("#= Service.ServiceName #");
col.Bound(m => m.Discipline).ClientTemplate("#= Discipline.DisciplineName #");
col.Bound(m => m.Unite).ClientTemplate("#= Unite.UniteName #");
col.Bound(m => m).ClientTemplate(Html.Partial("_Tel").ToHtmlString());
col.Bound(m => m.Unite.TypeHebergement).Title("Hébergement");
col.Bound(m => m.Installe);
col.Bound(m => m.Ferme);
col.Bound(m => m.Compteurs).ClientTemplate("# for (var i=0;i<4;i++) { console.log(i) } #");
col.Command(commands =>
{
commands.Edit().UpdateText("Mettre à jour").CancelText("Annuler").Text("Edit");
commands.Destroy().Text("Suppr.");
}).Title(string.Empty).Width(160);
}
) …Run Code Online (Sandbox Code Playgroud) 我们正在使用Kendo网格.我在我的cshtml文件和我的js文件中创建了一个表,我将它绑定到数据.我的问题是网格分页不会消失.我需要页面上的所有项目,因为我们预计不会有太多负载.我尝试删除pageable属性,我尝试标记pageable: false.但我仍然看到网格在一个页面中只显示10个项目并给出分页.
通过使用this.pager.element.hide(),我们可以隐藏寻呼机,但这不能解决目的,因为寻呼机被隐藏但寻呼仍在进行中.所以,现在,从第11个元素开始的元素oare在页面上,但我们无法导航到它.
这是现有的代码.我删除了表中不相关的列..CSHTML文件:
<table style="width: 100%;" class='list-entity' id='inboxItems'>
<thead>
<tr>
<th data-field='Actions' class="iconCell" style='width: 1%'> </th>
<### THERE ARE MORE COLUMNS HERE AND THOSE HAVE CORRESPONDING COLUMNS IN SETTINGS ###>
</tr>
</thead>
</table>
Run Code Online (Sandbox Code Playgroud)
JS档案:
var settings = {
kendosettings: {
dataSource: {
data: requestItemsList,
schema: {
// required if get method will be used
model: {
id: "StepApproverKey"
}
},
group: [
{
field: "GroupByAttribute",
dir: "asc",
aggregates:
[
{ field: "GroupByAttribute", aggregate: "count" }]
}] …Run Code Online (Sandbox Code Playgroud)