标签: kendo-ui-mvc

在Kendo Grid中设置默认分组

我需要在特定列上默认对网格进行分组,并且不允许用户删除该列上的分组.这可能吗?

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

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

从一组对象动态构建lambda表达式?

我有一个以这种格式存储的排序列表:

public class ReportSort
{
    public ListSortDirection SortDirection { get; set; }
    public string Member { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我需要把它变成类型的lambda表达式 Action<DataSourceSortDescriptorFactory<TModel>>

假设我有以下报告排序集合:

new ReportSort(ListSortDirection.Ascending, "LastName"),
new ReportSort(ListSortDirection.Ascending, "FirstName"),
Run Code Online (Sandbox Code Playgroud)

我需要将它转换为这样的语句,如下所示:

.Sort(sort => { 
        sort.Add("LastName").Ascending();
        sort.Add("FirstName").Ascending();
      })
Run Code Online (Sandbox Code Playgroud)

排序方法签名是:

public virtual TDataSourceBuilder Sort(Action<DataSourceSortDescriptorFactory<TModel>> configurator)
Run Code Online (Sandbox Code Playgroud)

所以我现在有一些方法:

public static Action<DataSourceSortDescriptorFactory<TModel>> ToGridSortsFromReportSorts<TModel>(List<ReportSort> sorts) where TModel : class
    {
        Action<DataSourceSortDescriptorFactory<TModel>> expression;
        //stuff I don't know how to do
        return expression;
    }
Run Code Online (Sandbox Code Playgroud)

......我不知道该怎么办

编辑:答案是:

var expression = new Action<DataSourceSortDescriptorFactory<TModel>>(x =>
        {
            foreach (var sort in sorts)
            { …
Run Code Online (Sandbox Code Playgroud)

c# linq lambda linq-to-objects kendo-ui-mvc

8
推荐指数
1
解决办法
264
查看次数

内联网格 kendoComboBox 在 javascript 中获取值

这是我的功能 userNameEditor

function userNameEditor(container, options) {
  $('<input required data-bind="value:' + options.field + '"/>')
    .appendTo(container)
    .kendoComboBox({
      dataTextField: "UserName",
      dataValueField: "UserId",
      filter: "contains",
      minLength: 3,
      //_readMethod: '../Warehouse/SearchUser',
      dataSource: new kendo.data.DataSource({
        transport: {
          contentType: "application/json; charset=utf-8",
          serverFiltering: true,
          read: {
            url: "../Warehouse/SearchUser",
            //data: { //?????????//
            //    q: function () {
            //        return $("#autoComplete").data("kendoAutoComplete").value();
            //    },
            //    maxRows: 10,
            //    username: "demo"
            //}
          },
        },
      }),
    })
}
Run Code Online (Sandbox Code Playgroud)

我想捕获kendoComboBox 值 go 控制器并返回用户名包含值只是给我取值的方式请!!!!

这是我的网格列区域

grid._columns.push(grid.GridColumn('Id', null, '200px', null, null, null, null, null, null, null, …
Run Code Online (Sandbox Code Playgroud)

javascript kendo-ui-mvc kendo-ui-grid

7
推荐指数
1
解决办法
61
查看次数

用于ASP.NET Core的Kendo UI - 未定义kendo

当我尝试使用Kendo UI创建网格或图表时,我不断收到以下错误.但是,一个简单的ComboBox可以工作.我们正在使用商业lisence并在经过身份验证时从Telerik的网站下载了js和css.

未捕获的ReferenceError:未定义kendo

未捕获的ReferenceError:$未定义

配置:_Layout.cshtml

<head>
    <environment names="Development">
        <link rel="stylesheet" href="~/lib/bootstrap/dist/css/bootstrap.css" />
        <link rel="stylesheet" href="~/lib/kendo-ui/styles/kendo.common-bootstrap.min.css" />
        <link rel="stylesheet" href="~/lib/kendo-ui/styles/kendo.bootstrap.min.css" />
        <link rel="stylesheet" href="~/css/site.css" />
    </environment>
    <environment names="Staging,Production">
        <link rel="stylesheet" href="https://ajax.aspnetcdn.com/ajax/bootstrap/3.3.7/css/bootstrap.min.css"
              asp-fallback-href="~/lib/bootstrap/dist/css/bootstrap.min.css"
              asp-fallback-test-class="sr-only" asp-fallback-test-property="position" asp-fallback-test-value="absolute" />
        <link rel="stylesheet"
              href="https://kendo.cdn.telerik.com/2017.2.504/styles/kendo.common-bootstrap.min.css"
              asp-fallback-href="~/lib/kendo-ui/styles/kendo.common-bootstrap.min.css"
              asp-fallback-test-class="k-common-test-class"
              asp-fallback-test-property="opacity" asp-fallback-test-value="0" />
        <link rel="stylesheet"
              href="https://kendo.cdn.telerik.com/2017.2.504/styles/kendo.bootstrap.min.css"
              asp-fallback-href="~/lib/kendo-ui/styles/kendo.bootstrap.min.css"
              asp-fallback-test-class="k-theme-test-class"
              asp-fallback-test-property="opacity" asp-fallback-test-value="0" />
        <link rel="stylesheet" href="~/css/site.min.css" asp-append-version="true" />
    </environment>
</head>
    <environment names="Development">
        <script src="~/lib/jquery/dist/jquery.js"></script>
        <script src="~/lib/bootstrap/dist/js/bootstrap.js"></script>
        <script src="~/lib/kendo-ui/js/kendo.all.min.js"></script>
        <script src="~/lib/kendo-ui/js/kendo.aspnetmvc.min.js"></script>
        <script src="~/js/site.js" asp-append-version="true"></script>
    </environment>
    <environment names="Staging,Production">
        <script src="https://ajax.aspnetcdn.com/ajax/jquery/jquery-2.2.0.min.js"
                asp-fallback-src="~/lib/jquery/dist/jquery.min.js"
                asp-fallback-test="window.jQuery"
                crossorigin="anonymous"
                integrity="sha384-K+ctZQ+LL8q6tP7I94W+qzQsfRV2a+AfHIi9k8z8l9ggpc8X+Ytst4yBo/hH+8Fk"> …
Run Code Online (Sandbox Code Playgroud)

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

6
推荐指数
1
解决办法
4840
查看次数

如何从document.body(DOM)中删除所有Kendo DropDownList元素

我们在cardView kendo.ui.Window项目中使用了大约3个DropDownList组件.当窗口关闭时,我们为每个包含的DropDownList项调用'destroy'方法.

问题是以下代码没有删除已附加到文档正文的所有DropDownList的相关DIVS:

var dropdownlist = $("#dropdownlist").data("kendoDropDownList");
dropdownlist.destroy();
Run Code Online (Sandbox Code Playgroud)

经过一些搜索,我们在destroy方法的文档中注意到以下注释(来自Telerik): 重要说明:此方法不会从DOM中删除DropDownList元素.

因此,每当有人打开和关闭我们的kendo的窗口(卡片视图)时,会附加许多DropDownList的div而不从DOM中删除 - 这可能会导致DOM出现严重的性能问题.

保留在DOM中的附加DIVS是 - 例如"k-list-container"和"k-animation-container".

  1. 我怎么解决这个问题?
  2. 有没有办法彻底销毁每个DropDownList的元素(包括从DOM中删除所有相关元素)?
  3. 当我们需要销毁其他kendo.ui组件时,这个问题是否相关?(例如combobox,dateTimePicker,Tooltip等)由于我们的kendo.ui卡窗口还包含其他基本的kendo.ui组件.

jquery telerik-mvc kendo-ui kendo-ui-mvc

5
推荐指数
1
解决办法
9321
查看次数

如何在MVC中使用模型创建Kendo饼图

我正在尝试使用Kendo UI在MVC中通过模型和控制器创建饼图,该饼图将显示两种食物的总量,但由于附带的错误,我无法获得结果。

饼图中显示的类型:1)饮料和2)餐食

我指的是这种图表。

Kendo UI饼图

该链接显示了使用foreach的多个图表,但我仅关注仅一个图表,该图表会将总收入与餐食和饮料区分开。

我的控制器是:

 public ActionResult _SpainElectricityProduction()
        {
            List<PieGraphModel> objList = new List<PieGraphModel>();
            for (int i = 0; i < 2; i++)
            {
                if (i == 0)
                {
                    objList.Add(new PieGraphModel { coke = 10, pepsi = 20, Type = "Beverages", total = 30 });
                }
                else
                {
                    objList.Add(new PieGraphModel { chiniese = 50, italian = 40, Type = "Meals",  total = 90 });
                }
            }
            return Json(objList);
        }





 @(Html.Kendo().Chart<MvcRepo_Kendo.Models.PieGraphModel>()
            .Name("chart")
            .HtmlAttributes(new { @class = "small-chart" }) …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc-4 kendo-ui kendo-asp.net-mvc kendo-chart kendo-ui-mvc

3
推荐指数
1
解决办法
2183
查看次数

从Kendo UI网格中创建具有相关对象的表达式[FilterDescriptor]

我正在尝试为FilterDescriptor构建一个表达式生成器,该表达式生成器是我从一个请求中获取的,以便在DB中执行,因为它仅在内存中执行。我有成千上万的行可以从数据库中检索(这就是为什么我要创建一个构建器以减少负载的原因)。

//classes
public class Product
{
   public string Name {get;set;}
   public TypeOfProduct {get;set;}
}
public class TypeOfProduct
{
   public string Description {get;set;}
}

//action Read
public ActionResult Read([DataSourceRequest] DataSourceRequest request)
{
    if (request.Filters.Count > 0)
    {
        where = ApplyFilter(request.Filters[0]);
    }
}

// apply the FilterDescriptor to a string 
private static string ApplyFilter(IFilterDescriptor filter)
{
    var filters = string.Empty;
    if (filter is CompositeFilterDescriptor)
    {
        filters += "(";
        var compositeFilterDescriptor = (CompositeFilterDescriptor)filter;
        foreach (IFilterDescriptor childFilter in compositeFilterDescriptor.FilterDescriptors)
        {
            filters += ApplyFilter(childFilter);
            filters …
Run Code Online (Sandbox Code Playgroud)

lambda expression kendo-asp.net-mvc kendo-ui-mvc

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

我如何获得selectedRow剑道UI的索引

我使用下面的代码来获取选定的代码,但是我需要获取当前的行索引来上下移动,如何获得选择的项目的行索引:我的代码:

 $("#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)

telerik kendo-ui kendo-grid kendo-ui-mvc

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

使用 Razor 页面在 ASP.NET Core MVC 中使用处理程序设置 Kendo UI Grid DataSource Read 属性

我正在使用带有 Razor Pages Web 应用程序的 ASP.NET Core MVC 套件的 Kendo UI,因此我尝试将处理程序技术用于网格的服务器操作。

@(Html.Kendo().Grid<CustomerViewModel>()
        .Name("CustomersGrid")
        .Columns(columns =>
        {
            columns.Bound(x => x.CustomerId).Title("Student ID");
            columns.Bound(x => x.CustomerName).Title("Name");
        })
        .Pageable()
        .Sortable()
        .DataSource(dataSource => dataSource
            .Ajax()
            .PageSize(20)
            .ServerOperation(true)
            .Read(read => read.Url("/Customers?handler=Read")))
         )
Run Code Online (Sandbox Code Playgroud)

我查看了网络选项卡,它正在向http://localhost:5000/Customers?handler=Read发出正确的 POST但是我没有在断点处结束,我得到了一个状态代码 400。

在剃刀页面的 Action 方法后面的代码中,它被命名为 OnPostReadAsync

知道为什么这不起作用吗?除了 .Url 之外,还尝试在 DataSource 的 .Read 属性中使用 read.Action 和 read.Route。

这是带有 action 方法的类:

public class IndexModel : PageModel
{
    private readonly ICustomerRepository _customerRepository;
    private readonly IMapper _mapper;

    public IndexModel(ICustomerRepository customerRepository, IMapper mapper)
    {
        _customerRepository = …
Run Code Online (Sandbox Code Playgroud)

c# kendo-ui-mvc kendo-ui-grid asp.net-core razor-pages

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