我有一个Kendo网格,我需要根据被删除的行中的数据自定义删除确认消息框.我有一个自定义的常规消息作为网格配置的一部分,如下所示.
editable: {
confirmation: "Are you sure that you want to delete this record?",
mode: "popup",
template: kendo.template($("#popup-editor").html())
}
Run Code Online (Sandbox Code Playgroud)
我看过使用remove事件处理程序,但是在删除行之后会触发.
我有一个请求让我的KendoUI Grid开始排序一列,并从那里只允许列有排序的asc和排序的desc选项...意味着没有未排序的选项.我的意思是当第一次查看页面时,有一个图标显示其排序的asc ...如果单击列标题然后它进入排序的desc然后再次单击它将转到排序的asc.目前,默认的Kendo行为是第三次单击将网格置于未排序模式,没有排序图标.如果有帮助,我的代码如下:
$("#grid").kendoGrid({
dataSource: {
data: carList,
schema: {
model: {
fields: {
"Car": { type: "number" },
"Miles": { type: "number" }
}
}
},
sort: { field: "Miles", dir: "asc" }
},
height: 338,
scrollable: true,
sortable: true,
filterable: false,
pageable: false,
columns: [
{
field: "Car",
width: 40,
sortable: true,
hidden: false
},
{
field: "Miles",
width: 60,
sortable: true,
hidden: false
}
]
});
};
Run Code Online (Sandbox Code Playgroud)
有没有人知道是否有一种内置的方式来实现这种切换效果?如果没有,有关如何实现这一点的任何想法,而不必完全编写我自己的排序函数?任何想法都很棒,非常感谢!
我试图遵循几个关于刷新像这样的剑道网格的建议.
关键是我在html中有:
<div kendo-grid="vm.webapiGrid" options="vm.mainGridOptions">
Run Code Online (Sandbox Code Playgroud)
然后在控制器中我有:
vm.webapiGrid.refresh();
Run Code Online (Sandbox Code Playgroud)
注意:我使用的是ControllerAs语法,因此我使用的是"vm"而不是$ scope.
我的问题是"vm.webapiGrid"未定义.这似乎很简单,但我不确定为什么它是未定义的.
我正在使用document.execCommand('copy')类似于此处描述的内容:
https://developers.google.com/web/updates/2015/04/cut-and-copy-commands
就我而言,我是将剑道网格中的数据放入要复制的隐藏文本区域中。复制在2500至3000行之间或大约350k的数据中的某个位置。
我未隐藏文本区域,以确保它获取网格的全部内容,并且该方法有效。我可以从可见的文本区域手动复制所有3000+行。
但是document.execCommand无法复制它。我要达到一些尺寸限制吗?
我在网格定义中有一个启用了选择模式的网格
selectable: true
Run Code Online (Sandbox Code Playgroud)
我需要通过按钮使网格不可选.我尝试过这个,但它不起作用:
$("#disableKendoGrid").click(function () {
var grid = $("#myGrid").data("kendoGrid");
grid.options.selectable = false;
grid.refresh();
});
Run Code Online (Sandbox Code Playgroud) 试图找出剑道世界,并将网格设置为json数组数据源.
Error is "JavaScript runtime error: Invalid template: <tr
data-uid="#=data.uid#" role='row'><td role='gridcell'>#=data.Account
Num==null?'':data.Account Num#</td>...".
Run Code Online (Sandbox Code Playgroud)
我注意到在这个错误中我看到空值,想知道这是否意味着数据没有绑定?
我看到列标题,但不是任何行.我还必须提一下,我的数据中没有任何ID字段,因为我正在使用SQL视图中的临时表.
function populateGrid(search) {
$("#grdAttributes").kendoGrid({
dataSource: {
transport: {
read: {
url: "http://127.0.0.2:6080/arcgis/rest/services/WW/WW2/MapServer/exts/RestSOE/Search%20Query?columnName=" + search.columnName + "&operand=" + search.operand + "&searchVal=" + search.searchVal + "&f=",
dataType: "json",
type: 'GET'
}
},
},
serverPaging: true,
serverSorting: true,
serverFiltering: true,
scrollable: true,
height: 150
});
$("#grdAttributes").data().kendoGrid.dataSource.view()
};
Run Code Online (Sandbox Code Playgroud)
如果我继续VS2012中的错误,我会看到网格中的列标题.只是没有行数据.(示例JSON下面:)
-[{
-"Address": "PO BOX 20",
-"City": "HAVENWOOD",
-"Location": "",
-"Name 1": "UNIVERSITY",
-"Name 2": "",
-"Street": "NEY AVE",
-"Street …Run Code Online (Sandbox Code Playgroud) Hello使用类似于此示例的复选框实现了自定义筛选器菜单:
http://dojo.telerik.com/@SiliconSoul/oBoCu
我的问题是,如果用户选择/取消选择一些复选框,但从不点击"过滤"按钮.我基本上想将他们的选择重置为菜单关闭之前他们最初的选择但不认为过滤器菜单有这样的事件.
如何绑定菜单关闭?
我想每列禁用(或者可能定义一些自定义列表)运算符.我尝试在列定义中执行此操作:
"field": "Name",
"title": "name",
"attributes": {
"class": "nameCell"
},
"filterable": {
"operators": gridTranslationService.getHierarchyOperators()
}
Run Code Online (Sandbox Code Playgroud)
但它不适合我.任何sugestions我怎么能这样做?
我们正在使用React和Kendo:
kendo-ui-core": "^2017.2.621
kendo-ui-react": "^0.14.2
react-kendo": "^0.13.11
Run Code Online (Sandbox Code Playgroud)
试图显示一个可分页的网格。数据从reducer加载并进入状态。它componentWillMount正在将gridOptions设置为状态。在render函数期间,我们获得选项并将数据行和列添加到数据源中。
我们可以获取它来显示数据,格式化列,还可以使分页图标显示在底部,但它会显示no items to display。
API调用将返回50个结果,如果我们删除页面大小,则会显示所有50个结果。
import React, { Component } from "react";
import { withRouter, NavLink } from "react-router-dom";
import { connect } from "react-redux";
import { getDataBookings } from "./actions";
import { Grid } from 'kendo-ui-react'
class DataBookings extends Component {
componentWillMount(){
this.state = {
gridOptions: {
toolbar: ["excel"],
excel: {
fileName: "bookingsExport.xlsx"
},
sortable: {
mode: "multiple",
allowUnsort: true
},
scrollable: true,
resizable: true,
editable: false, …Run Code Online (Sandbox Code Playgroud) 我有一个简单的单元测试,它通过了,但在运行时抛出错误“Harness 正在尝试使用已被破坏的固定装置” ng test --watch=false。发生这种情况是因为我将组件放入吗<ng-template>?有谁知道如何解决这个错误?
describe("MenuComponent", () => {
let testHostFixture: ComponentFixture<TestHostComponent>;
let myMenuHarness: MenuHarness;
beforeEach(
waitForAsync(() => {
TestBed.configureTestingModule({
declarations: [...],
imports: [...],
providers: [...],
}).compileComponents();
})
);
beforeEach(async () => {
testHostFixture = TestBed.createComponent(TestHostComponent);
myMenuHarness = await TestbedHarnessEnvironment.harnessForFixture(
testHostFixture,
MenuHarness
);
testHostFixture.detectChanges();
});
describe("simple test", () => {
it("should pass", async () => {
await myMenuHarness.openMenu();
expect(true);
});
});
@Component({
selector: `my-test-host-component`,
template: `<kendo-grid ...>
<ng-template kendoGridColumnMenuTemplate let-service="service">
<app-my-menu [service]="service"></app-my-menu>
</ng-template>
<kendo-grid-column ... ></kendo-grid-column> …Run Code Online (Sandbox Code Playgroud) kendo-grid ×10
kendo-ui ×8
javascript ×5
jquery ×2
angularjs ×1
jasmine ×1
json ×1
reactjs ×1
sql ×1
typescript ×1