标签: kendo-asp.net-mvc

如何在ajax post回调后刷新KendoUi网格

如何在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)

kendo-ui kendo-grid kendo-asp.net-mvc

2
推荐指数
2
解决办法
1万
查看次数

在JQuery或JavaScript中的Grid标头上生成onClick事件

我有这个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' >&nbsp;</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' >&nbsp;</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' >&nbsp;</div>" + "#}else{#" + …
Run Code Online (Sandbox Code Playgroud)

javascript jquery kendo-ui kendo-grid kendo-asp.net-mvc

2
推荐指数
1
解决办法
4747
查看次数

用户停止键入后,Kendo UI MVC自动完成服务器过滤

我在我的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 kendo-asp.net-mvc kendo-autocomplete

2
推荐指数
1
解决办法
3546
查看次数

通过控制动态设置Kendo UI网格行高度

以前使用Kendo UI网格控件(版本2014.1.318)时,网格中任何行的高度都是固定的,椭圆用于显示单元格宽度之外的任何内容 - 看起来有点像下面的内容:

它应该如何看待

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

不是我想要的外表

该行的HTML现在包含下面的内嵌样式,而以前没有.

style="height: 45px;"
Run Code Online (Sandbox Code Playgroud)

我猜这是问题所在.我想知道是否有办法关闭此功能或在脚本中我可以删除它.我甚至无法找到发布历史中引入的内容!

编辑:我发现问题出在kendo.common.min.css文件中.如果我使用旧的,一切正常......只需要找到引起问题的新风格

javascript telerik kendo-ui kendo-grid kendo-asp.net-mvc

2
推荐指数
1
解决办法
7035
查看次数

网格中的kendo multiselect不正确绑定

即时通讯使用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)

c# asp.net-mvc grid kendo-asp.net-mvc kendo-multiselect

2
推荐指数
1
解决办法
880
查看次数

Knockout-Kendo库是否可以与Kendo UI ASP.NET MVC html助手一起使用?

我们有一个使用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

2
推荐指数
1
解决办法
355
查看次数

如何将日期选择器默认为占位符?

这是我的日期选择器的代码:

<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

2
推荐指数
1
解决办法
1万
查看次数

无法在工具栏上更改Kendo Export to Excel按钮的标题

我想更改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

2
推荐指数
1
解决办法
2356
查看次数

$(document).ready(function()$未定义

我正在使用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 asp.net-mvc jquery kendo-grid kendo-asp.net-mvc

2
推荐指数
1
解决办法
2万
查看次数

如何设置Kendo文本框的值并将该值传递给控制器​​,以便模型有效?

我正在用Javascript设置Kendo文本框For的值,在屏幕上显示该值,但是在到达控制器时出现字段为null且模型状态无效的错误。如何设置文本框的值并保留该值,以便模型状态有效?

这是我所拥有的:

  • 带有C#的ASP.net MVC Visual Studio项目
  • Kendo / Telerik调度程序控制
  • 模板中定义的调度程序的事件弹出窗口(单独的CSHTML文件)
  • 在模板中,“标题”字段的Kendo TextBoxForControl
  • 同样在模板中,字段TaskSourceWoId的Kendo下拉列表

当用户从下拉列表中选择一个值时,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)

javascript jquery telerik kendo-ui kendo-asp.net-mvc

2
推荐指数
1
解决办法
1万
查看次数