标签: kendo-grid

如何在 kendo ui 中隐藏细节网格的展开/折叠图标

我正在使用剑道 ui 网格详细信息模板。在网格中,我有一个下拉列表,其中包含一些值,例如下拉列表、文本框等。如果我添加新记录,那么我不想显示展开/折叠图标。选择下拉列表后,选定的值将是下拉列表,然后我只想显示展开/折叠图标。我怎样才能使用剑道 ui 做到这一点。希望你明白我的问题。我试图在 dataBound 事件中像这样访问它

     dataBound: function (e) {         

                var dataSource = this.dataSource;         
                this.element.find('tr.k-master-row').each(function() {

                    this.tbody.find("tr.k-master-row>.k-hierarchy-cell>a").hide();

                });
            }
Run Code Online (Sandbox Code Playgroud)

kendo-ui kendo-grid

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

Kendo UI Grid按数据项选择

我有一个带有大数据源和分页的Kendo UI Grid.

我有一个事件触发我知道我想要选择的基础数据项,但我不确定如何以编程方式页面/选择网格中的此项.如果该项目不在当前网格页面上,则当数据不在当前页面上时,我无法使用datasource.view()来查看.

有谁知道我如何通过其底层数据源对象选择项目?

我有类似的情况,我在@的地方:http: //jsfiddle.net/Sbb5Z/1050/ 我可以使用以下内容获取数据项:

 change: function (e) {
      var selectedRows = this.select();
      var dataItem = this.dataItem(selectedRows[0]);
   }
Run Code Online (Sandbox Code Playgroud)

但后来我不知道如何选择其他网格中的同一行.

基本上在一个网格的选择事件中,我想去另一个网格中选择相同的项目.这些数据源不同,因为它们具有不同的页面设置,但它是相同的底层数据数组.

我在目标网格中有数据项 - 但我不知道如何在目标网格中分页/选择它.

编辑: 我提出的最好的软件是创建一个与原始参数相同的数据源,并以编程方式对其进行分页,直到找到我要查找的内容.当然必须有更好的方法吗?

javascript kendo-ui kendo-grid

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

不了解在网格中生成复选框的此kendo模板

我不了解Kendo模板的基本知识,所以也许有人可以向我解释一下.网格中单元格的模板示例来自Telerik示例代码.

template:"<input type='checkbox' #= IsAdmin ? checked='checked':'' # />
Run Code Online (Sandbox Code Playgroud)

最终,这会生成一个输入标记,如果IsAdmin的值为true,则包含"checked ='checked'"

我不明白评估的背景

#= IsAdmin ? checked = 'checked' : '' #
Run Code Online (Sandbox Code Playgroud)

文档说"#="表示"渲染为文字"(无论这意味着什么),我理解"IsAdmin"是评估/执行模板时提供的值.

#=后面的内容看起来像Javascript,但如果只是那样,它只会将名为"checked"的变量的值设置为"checked"或空字符串.

是个 ?这里的运算符真的是javascript,还是剑道模板语言?我没有看到过与运营商特定的Kendo特定语言.但如果这真的是一个Javascript?运算符,它是如何工作的,我们得到一个文字"checked ='checked',而不是设置一个名为"checked"的var,值为'checked'.

叫我困惑.

javascript templates telerik kendo-ui kendo-grid

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

如何使用jQuery滚动到Kendo网格中的选定行?

我的问题可能类似于,

jQuery滚动到元素

Kendo Grid滚动到选定的行

    $("#button").click(function() {
    $('html, body').animate({
    scrollTop: $("#elementtoScrollToID").offset().top
     }, 2000);
    });
Run Code Online (Sandbox Code Playgroud)

我也尝试了这个:

     this.element.find(".k-grid-content").animate({
     scrollTop: this.select().offset().top });
     }
Run Code Online (Sandbox Code Playgroud)

但是,提供给上述问题的解决方案对我有帮助,我对第二个链接提供的小提琴链接有问题:http://jsfiddle.net/blackjim/9GCYE/5/

当我尝试获取行的表中某处的行的视图时,该解决方案正常工作.但是,在那之后,(即,在从网格底部获得一行的焦点之后),当我尝试从顶部选择一行时,控件仍然向下滚动,因此滚动功能的目的变得毫无意义那里.

我有一个搜索框,我可以在其中键入与行数据匹配的内容,如果匹配,则应触发滚动,以便将选定的行添加到用户视图中.

上述解决方案中的代码适用于此标准.但是,现在,再次,如果我尝试搜索与网格顶部的某些行匹配的内容,则滚动不会从底部(先前选定的行)发生到网格顶部的新选择的行.

我如何修改上面的代码以满足我的需要?

jquery scroll selecteditem kendo-grid

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

取消事件上的Kendo UI Grid

我正在使用Kendo UI Grid Edit和Delete命令来管理数据.

我遇到的问题是我有一个需要应用于删除按钮的自定义样式.我可以在DataBound事件上添加类,但是当用户尝试编辑数据时,样式会在按钮上消失并返回到默认的Kendo UI样式.


Jquery用来添加样式

function onRowBound(e) {
    $(".k-grid-delete").removeClass("k-button k-button-icontext").addClass("btn btn-danger");
}
Run Code Online (Sandbox Code Playgroud)

剑道MVC活动

columns.Command(command => command.Edit()).Title("Edit");
columns.Command(command => command.Destroy()).Title("Remove")
.........    
.Events(e =>
       {
          e.DataBound("onRowBound");
          e.Cancel("onRowBound");
          e.Edit("onRowBound");
       })) 
Run Code Online (Sandbox Code Playgroud)

我尝试在Cancel事件上触发相同的方法,但样式仍然恢复为默认值.有没有办法设置样式,最好不使用"ClientTemplate"功能?

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

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

更新Telerik Kendo Grid(MVC)后刷新

我有一个带有一些环境数据的Kendo Grid.网格的一个字段是"isDefault",它接收1或0(对于真或假).在数据库中,我有一个触发器,当某个记录设置为isDefault = 1时,任何其他记录都更新为isDefault = 0,只是为了确保只有一个默认环境.

Kendo网格工作正常,它绑定数据并更新记录就好了但是在更新之后,网格没有刷新所有记录,如果有,比方说,记录1,isDefault = 1,我更新记录4到isDefault = 1触发器被触发并将所有其他记录更新为isDefault = 0但网格仍然显示记录1,isDefault = 1,现在记录4,isDefault = 1

这是我视图中的代码:

Html.Kendo().Grid<Models.Environment>()
                   .Name("environmentGrid")
                   .Sortable()
                   .ToolBar(tb =>  tb.Create())
                   .Editable(editable => editable.Mode(GridEditMode.PopUp))
                   .Columns(cols =>
                   {
                       cols.Bound(c => c.Name).Width(150).Sortable(true);
                       cols.Bound(c => c.ConnectionString).Width(150).Sortable(true);
                       cols.Bound(c => c.Template).Width(150).Sortable(true);
                       cols.Bound(c => c.isDefault).Width(150).Sortable(true);
                       cols.Bound(c => c.StatusID).Width(150).Sortable(true);
                       cols.Command(command => { command.Edit();}).Width(60);
                   })
                   .DataSource(ds => ds
                       .Ajax()
                       .Model(model => 
                       { 
                           model.Id(m => m.EnvironmentID);
                       })
                       .Read(r => r.Action("GetEnvironments", "Admin"))
                       .Update(update => update.Action("UpdateEnvironments", "Admin"))
                       .Create(update => update.Action("UpdateEnvironments", "Admin"))                           
                   )
Run Code Online (Sandbox Code Playgroud)

这是我的控制器上的代码:

[AcceptVerbs(HttpVerbs.Post)]
    public ActionResult UpdateEnvironments([DataSourceRequest] DataSourceRequest …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc telerik kendo-ui kendo-grid

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

Telerik的Kendo Grid组件,指定了GridEditMode.Popup和TemplateName

我有一个看起来像这样的观点:

@model Wellbore
@(Html.Kendo().Grid<WellboreSection>()
        .Name("wellboresectiongrid")
        .Columns(columns =>
        {
            columns.Bound(p => p.Name);
            columns.Bound(p => p.Lenght);
            columns.Bound(p => p.SectionNumber);
            columns.Bound(p => p.Volume);
            columns.Bound(p => p.HoleDiameter);
            columns.Command(command =>
            {
                command.Edit();
                command.Destroy();
            }).Width(240);
        })
        .ToolBar(toolbar => toolbar.Create())
        .Editable(editable => editable.Mode(GridEditMode.PopUp).TemplateName("WellboreSectionPopupTemplate"))
        .Sortable()
        .Scrollable()
        .DataSource(dataSource => dataSource
            .Ajax()
            .PageSize(10)
            .Events(events => events.Error("KendoGrid.ErrorHandler"))
            .Model(model => model.Id(p => p.Id))
            .Create(create => create.Action("WellboreSection_Create", "WellboreSection",
                new RouteValueDictionary(new Dictionary<string, object>() { { "wellboreId", Model.Id } })))
            .Read(read => read.Action("WellboreSection_Read", "WellboreSection",
                    new RouteValueDictionary(new Dictionary<string, object>() { { "wellboreId", Model.Id } })))
            .Update(update …
Run Code Online (Sandbox Code Playgroud)

c# telerik kendo-grid

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

Kendo Grid Edit取消从Grid中删除行

我有一个Kendo Grid ::

   @(Html.Kendo().Grid<Models.PassengerGrid>()
                        .Name("Passenger")
                        .Columns(columns =>
                        {
                            columns.Bound(x => x.PassengerID).Hidden(true);
                            columns.Bound(x => x.Name).Title("Name").Width(500).Encoded(true);
                            columns.Command(command => { command.Edit(); command.Destroy(); });
                        })
                        .Editable(editable => editable.Mode(GridEditMode.InLine))
                        .HtmlAttributes(new { style = "height:430px;" })
                        .DataSource(dataSource => dataSource
                            .Ajax()
                            .PageSize(5)
                            .ServerOperation(true)
                            .Model(model => { model.Id(p => p.PassengerID); })
                            .Read(read => read.Action("PassengerDetailTemplate", "GetData"))
                            .Create(update => update.Action("EditingPopup_Update", "Grid"))
                            .Update(update => update.Action("EditingPopup_Update", "Grid"))
                            .Destroy(update => update.Action("EditingPopup_Destroy", "Grid"))
                        )
                    )
Run Code Online (Sandbox Code Playgroud)

我在其中使用Javascript手动添加新行::

                var Grid = $("#Passenger").data("kendoGrid");
                            var datasource = Grid.dataSource;

                            datasource.add({
                                PassengerID: response.PassengerID,
                                Name: response.Name
                            });
                            datasource.sync();
Run Code Online (Sandbox Code Playgroud)

但问题是当我尝试编辑并在编辑时按下取消按钮,然后该行将从网格中删除.

我已经提到了这个问题链接 …

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

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

如何获取kendo网格特定列的所有值?

我有kendo网格,里面有4列 [mac,level,timestamp,message].我需要将所有值存储timestamp在一个数组中的列下.我试过但是找不到任何方法在特定列中遍历.知道如何使用java脚本执行此操作吗?

javascript kendo-ui kendo-grid kendo-ui-grid

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

嵌套的kendo网格 - 绑定detailInit与来自服务调用的数据

我有一个angular指令,它返回kendo网格数据源值(gridDataDisplayed).使用相同的数据源,我必须将它绑定到detailInit中的嵌套网格.

scope.gridsource = new kendo.data.DataSource({
                    pageSize: options.pSize,
                    transport: {
                        read: function (options) {
                            scope.getDataMethod({ pageDetails: options }).then(function (gridDataDisplayed) {
                                options.success(gridDataDisplayed);
                            }, function (error) {
                               //error
                            });
                        }
                    },   
                    detailInit: detailInitMethod
                });
Run Code Online (Sandbox Code Playgroud)

在detailInitMethod中,我使用了从服务调用返回的相同数据,并且只显示了"gridDataDisplayed"中的几列.如何将其绑定到嵌套网格?

在我的指令中,模板代码是:

 template: '<div><kendo-grid k-options="gridOptions" k-data-source="gridDataSource"></kendo-grid></div>',
Run Code Online (Sandbox Code Playgroud)

提前致谢.

kendo-ui angularjs kendo-grid

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