如何在ajax帖子成功后刷新kendo ui网格?这是我的网格ajax帖子:
var newUser = {
UserId: 0,
UserLoginName: currentRecord.UserLoginName,
UserDisplayName: currentRecord.UserDisplayName
};
//insert selected rows using DataSource insert method
destinationGrid.dataSource.insert(newRecord);
//ajax post to server
var url = '@Url.Action("CreateUser", "ManageUsers")';
$.post(url, { loginid: currentRecord.UserLoginName, name: currentRecord.UserDisplayName, role: roleSelected }, function (result) {
if (result.Success) {
**////grid is not refreshing as I want to refersh the grid again from database**
destinationGrid.dataSource.read();
}
});
}
Run Code Online (Sandbox Code Playgroud) 我有这个KendoUI网格,我想在其标题行中添加一个click事件,并获取单击的单元格的文本值:
@(Html.Kendo()
.Grid<Timeshet.Web.Models.UserWeekModel>()
.Name("grid")
.Sortable(sortable => sortable.AllowUnsort(false))
.Columns(columns =>
{
columns.Bound(t => t.Name);//.ClientTemplate("#=Name#" + " " + "<div class='jobDescriptionInfo-img' onclick='showDescription()' title='Job Description' > </div>");
columns.Bound(t => t.JobDescription).Visible(false);
columns.Bound(t => t.LastFri).ClientTemplate("#=LastFri#").HtmlAttributes(new { @class = "last-week" }).Hidden().Sortable(false);
columns.Bound(t => t.Monday).ClientTemplate("#if (Monday.HasNotes) {#" + "#=Monday.Name#" + " " + "<div class='project-note-img' title='Project Notes' > </div>" + "#}else{#" + "#=Monday.Name#" + "#}#").Sortable(false).HtmlAttributes(new { @Class = "#=Monday.Style#" });
columns.Bound(t => t.Tuesday).ClientTemplate("#if (Tuesday.HasNotes) {#" + "#=Tuesday.Name#" + " " + "<div class='project-note-img' title='Project Notes' > </div>" + "#}else{#" + …Run Code Online (Sandbox Code Playgroud) 我在我的asp.net mvc应用程序中使用Kendo UI自动完成功能,Kendo自动完成回调每个密钥strock上的服务器方法,这超出了服务器请求.有没有办法使用自动完成手动回调服务器来获取数据源.
我的代码如下
@(Html.Kendo().AutoComplete()
.Name("patientSearch")
.DataTextField("patientSearch")
.MinLength(2)
.Placeholder("Search by Lastname, Firstname or DOB")
.HtmlAttributes(new { id = "textPatientSearch" })
.Template("<B>${data.LastName}, ${data.FirstName} </B> - ${ kendo.toString(kendo.parseDate(data.DateOfBirth),'MM/dd/yyyy') } ")
.DataSource(source =>
{
source.Read(read =>
{
read.Action("GetFilteredPatient", "Order").Data("onAdditionalData");
})
.ServerFiltering(true);
}))
Run Code Online (Sandbox Code Playgroud)
我找到了jquery解决方案,用于检查用户是否停止输入,代码如下:
$(function(){
//setup before functions
var typingTimer; //timer identifier
var doneTypingInterval = 2000; //time in 3 ms
//on keyup, start the countdown
$('#textPatientSearch').keyup(function(e){
clearTimeout(typingTimer);
typingTimer = setTimeout(doneTyping, doneTypingInterval);
});
//on keydown, clear the countdown
$('#textPatientSearch').keydown(function(){
clearTimeout(typingTimer);
});
//user is "finished typing," …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文件中.如果我使用旧的,一切正常......只需要找到引起问题的新风格
即时通讯使用mvc kendo网格,在该网格中我想使用多选.不知何故,当网格获取数据时,多重选择值未定义,但是当我按下网格中的更新按钮时,它会找到多选的正确值.

这是viewmodel我将我的网格绑定到供应商用于多选的位置
public class CustomerViewModel
{
public CustomerViewModel()
{
Suppliers = new List<SupplierViewModel>();
}
public int CustomerId { get; set; }
public string CustomerName { get; set; }
[StringLength(2, ErrorMessage = "CountryCode cannot be longer than 2 characters.")]
public string CountryCode { get; set; }
public string CustomerERPId { get; set; }
[UIHint("SupplierMultiEditor")]
public ICollection<SupplierViewModel> Suppliers { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
这是我的网格视图:
<div>
<script type="text/kendo" id="supplierTemplate">
<ul>
#for(var i = 0; i< data.length; i++){#
<li>#:data[i].Name#</li>
#}#
</ul>
</script>
<script …Run Code Online (Sandbox Code Playgroud) 我们有一个使用Knockout和Kendo UI的ASP.NET MVC 5.0应用程序.由于历史原因,我们宁愿留在Knockout而不是使用Kendo的MVVM功能,但是我们已经知道Kendo与KO并不完全兼容.为了解决这两个框架之间的不兼容问题,我一直在调查Knockout-Kendo库(v0.9.0).Knockout-Kendo库可以工作,但我注意到当我使用Kendo的Html Helpers时,.k-input类被应用于封装了widget的最外层.显然,这会改变小部件的外观,在我看来,不应该发生.到目前为止,我还没有找到一种解决方法来阻止.k-input类被不适当地应用.
最初,我认为.k-input类可能正在被应用,因为我在Knockout-Kendo库使用的绑定语法中缺少一些微妙但使用"标准"KO绑定将我带回原点,Kendo小部件不会回应所有绑定.为了显示:
<div class="form-group">
<label for="Start">Start</label>
@Html.Kendo()
.DatePickerFor(m => m.Start)
.HtmlAttributes(new { data_bind = "kendoDatePicker: {enabled: enabledFlag, value: startDate}" })
</div>
Run Code Online (Sandbox Code Playgroud)
使用此绑定语法声明窗口小部件有效但不适当地应用.k-input类.
<div class="form-group">
<label for="Start">Start</label>
@Html.Kendo()
.DatePickerFor(m => m.Start)
.HtmlAttributes(new { data_bind = "enabled: enabledFlag, value: startDate" })
</div>
Run Code Online (Sandbox Code Playgroud)
并使用此绑定语法声明窗口小部件,只是无法正常工作.
所以,我的问题是:是否可以将Knockout-Kendo库与Kendo的Html Helpers一起使用,或者它是否仅用于与html输入标签一起使用?
asp.net-mvc kendo-ui knockout.js knockout-mvc kendo-asp.net-mvc
这是我的日期选择器的代码:
<div class="editor-field">
@(Html.Kendo().DatePickerFor(model => model.Date)
.HtmlAttributes(ViewBag.Disabled ? (object)new { @class = "formDatePicker", disabled = "disabled", @id = "Date", style = "width:150px", placeholder = "Select Date" } : new { @class = "formDatePicker", @id = "Date", style = "width:150px", placeholder = "Select Date" })
.Events(e => e.Open(@<text>function(e){BrowserCompatibility.DisableDatePickerYearsOnSomeBrowsers(e);}</text>))
.Format(@HCulture.GetShortDateFormat())
.Events(e => e.Change(@<text>function(e){
$("#DateString").val($('#Date').val());
checkInputValid();
}</text>))
)
</div>
Run Code Online (Sandbox Code Playgroud)
我试过这个解决方案,但它不起作用:
var datePicker = $("#Date").data('kendoDatePicker');
datePicker.input.val(input.attr('placeholder'));
Run Code Online (Sandbox Code Playgroud) javascript jquery kendo-ui kendo-asp.net-mvc kendo-datepicker
我想更改Kendo Grid工具栏上"导出到Excel"按钮的标题,但是虽然我尝试应用了许多不同的建议,但仍然无法更新.怎么改变这个?
<script>
var grid = $("#grid").kendoGrid({
toolbar: ["excel"],
excel: {
text: "Test 1", //did not make any sense
title: "Test 2", //did not make any sense
fileName: "Export.xlsx",
filterable: true
},
//code omitted for brevity
}).data("kendoGrid");
</script>
Run Code Online (Sandbox Code Playgroud) javascript asp.net-mvc kendo-ui kendo-grid kendo-asp.net-mvc
我正在使用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)
我在参考文献中添加了程序集,但注意到有成效.
我正在用Javascript设置Kendo文本框For的值,在屏幕上显示该值,但是在到达控制器时出现字段为null且模型状态无效的错误。如何设置文本框的值并保留该值,以便模型状态有效?
这是我所拥有的:
当用户从下拉列表中选择一个值时,Javascript会按以下方式设置Title的值:
$("#Title").val("WO# " + workOrderID);
Run Code Online (Sandbox Code Playgroud)
文本显示在屏幕上(请参见下面的屏幕截图)。但是,当用户单击“保存”按钮时,他们会收到错误消息,“标题”不能为空。如果我在控制器中查找当用户单击“保存”时命中的方法,则可以在模型中看到Title确实为空,这导致模型状态无效。我添加了Javascript,以便在使用上面的代码进行设置后立即获得Title的值,并且它为null。
我尝试了几种在javascript中设置Title的方法;基本上是这样的:
alert($("#Title").data("kendoTextBox").value());
Run Code Online (Sandbox Code Playgroud)
并返回“找不到”错误。
那么,如何设置标题不仅显示在屏幕上,还可以被控制器识别并且模型状态无效?
从下拉列表中选择工作订单后,标题将设置为包括此值,并且标题现在在屏幕上具有一个值:
$(“#Title”)。val(“ WO#” + workOrderID);

但是,当用户单击“保存”并将代码转到控制器时,“模型状态”无效,并且“标题”的值为null:
这是调度程序的代码:
@(Html.Kendo().Scheduler<SchedTasksModel>()
.Name("scheduler")
.Date(DateTime.Today)
.StartTime(DateTime.Parse(string.Format("{0} {1}", DateTime.Today.ToShortDateString(), "07:00")))
.Height(600)
.Views(views =>
{
views.DayView();
views.WeekView(weekView => weekView.Selected(true));
views.MonthView();
views.AgendaView();
})
.Editable(editable => editable.TemplateName("KoorsenEditor"))
.Timezone("Etc/UTC")
.Events(e => { e.Edit("sched_edit"); })
.Resources(resource =>
{
resource.Add(m => m.TaskType)
.Title("Type")
.DataTextField("Text")
.DataValueField("Value")
.DataColorField("Color")
.BindTo(new[]
{
new {Text = "Work Order", Value = 1, Color = …Run Code Online (Sandbox Code Playgroud) kendo-ui ×8
javascript ×6
kendo-grid ×5
asp.net-mvc ×4
jquery ×4
telerik ×2
c# ×1
grid ×1
knockout-mvc ×1
knockout.js ×1