我想将一个复选框列作为第一列添加到网格下方.有人能帮助我如何添加它吗?
@(Html.Kendo().Grid(Model)
.Name("items")
.Columns(columns =>
{
columns.Bound(p => p.itemname).Title("Name");
columns.Bound(p => p.cost).Title("Cost");
columns.Bound(p => p.stockinhand).Title("Stock in hand");
columns.Command(command => command.Destroy()).Width(100);
})
.Pageable()
.DataSource(dataSource => dataSource
.Server()
.Model(model => model.Id(p=>p.Id))
.Destroy(update => update.Action("EditingInline_Destroy", "Grid"))
)
)
Run Code Online (Sandbox Code Playgroud) firefox浏览器中的错误如下:TypeError:r未定义
这是chrome浏览器:Uncaught TypeError:无法读取undefined的属性'data'
我还制作了一个视频,以便更好地理解.
当我更改字段中的值时发生错误
按钮代码更新
save: function (e) {
var that = this;
$.ajax({
url: '/api/apdevice',
type: e.model.id == null ? 'POST' : 'PUT',
contentType: 'application/json',
data: JSON.stringify(e.model),
success: function (data) {
alert('yes');
that.refresh();
},
error: function (data) {
alert('no');
that.cancelRow();
}
});
}
Run Code Online (Sandbox Code Playgroud) 我正在使用KendoUI Grid(Web框架).json正在从ASP.NET MVC ViewBag页面加载时加载的本地数据填充.我在网格初始化之前在单独的变量中声明数据源并填充来自datasoruce的数据.我遇到的问题是,首次过滤或清除后,过滤器菜单会中断(查看图像).每次下次单击过滤器或清除按钮时,它会隐藏更多控件,直到只剩下两个按钮.奇怪的是,控制台中没有报告错误.我已经在这个问题上工作了一个多星期,但我似乎找不到任何有关它的信息,也没有接近可能的解决方案.
我知道非英语代码很难理解,但我很乐意翻译并解释它的含义!

遗憾的是,我无法提供指向运行此页面的服务器的链接,因为它需要登录并且页面已经发布 - 这意味着将凭据公开放在一起并不是一个好主意.虽然我一直在努力拼凑出一个工作小提琴,但我还是无法让它发挥作用.
我正在使用此代码:
root.seznamDataSource = new kendo.data.DataSource({
data: zahteveData,
pageSize: 15,
schema: {
model: {
fields: {
IdZahteve: {
type: "number"
},
Naslov: {
type: "string"
},
Datum: {
type: "date"
},
Status: {
type: "string"
},
Narocnik: {
type: "string"
},
PoslovniPartner: {
type: "string"
}
}
}
},
change: function(e) {
var urejeniItemi;
if ((e.sender._sort != null)
&& (e.sender._sort[0] != null)
&& e.sender._sort[0].field === "Status") { …Run Code Online (Sandbox Code Playgroud) 我已经设置了我的kendo ui网格来从返回JSON的MVC动作中读取数据.由于成本原因,我使用的是剑道的免费版本而不是MVC.
问题是,当页面加载并执行网格的初始填充时,它不会显示加载微调器.填充网格后,我会转到另一个页面或对其显示的列进行排序.
如果我设置网格的高度参数,我得到初始微调器,但网格只显示一行(应该显示20).
有谁知道为什么你要设置高度参数?或任何方式让旋转器工作而不设置高度.
我的剑道javascript kode:
$("#grid").kendoGrid({
dataSource: new kendo.data.DataSource({
transport: {
read: url,
parameterMap: function (options) {
var result = {
pageSize: options.pageSize,
skip: options.skip,
take: options.take,
page: options.page,
};
if (options.sort) {
for (var i = 0; i < options.sort.length; i++) {
result["sort[" + i + "].field"] = options.sort[i].field;
result["sort[" + i + "].dir"] = options.sort[i].dir;
}
}
return result;
}
},
requestStart: function () {
//kendo.ui.progress($("#loading"), true); <-- this works on initial load, but gives two …Run Code Online (Sandbox Code Playgroud) 我想设计我的剑道网格,每行都有颜色.如果数据库中有警报,则这些行必须为红色,否则它们必须为绿色.
这是我的代码:
public JsonResult Getdata()
{
var reports = db.ActivityLog.OrderBy(c => c.dateTime).ToList();
var collection = reports.Select(x => new
{
username = x.uName,
location = x.locName,
devices = x.devName,
alarm = x.alarm
});
return Json(collection, JsonRequestBehavior.AllowGet);
}
Run Code Online (Sandbox Code Playgroud)
我的看法:
function handleDataFromServer() {
$("#grid").data("kendoGrid").dataSource.read();
}
window.setInterval("handleDataFromServer()", 10000);
$(document).ready(function () {
$("#grid").kendoGrid({
sortable: true,
pageable: {
input: true,
numeric: false
},
selectable: "multiple",
dataSource: {
transport: {
read: "/Home/Getdata",
type: "json"
}
},
columns: [
{ field: "username", width: "80px" },
{ field: "location", …Run Code Online (Sandbox Code Playgroud) 是否有任何免费/开源替代Kendo UI Grid?
我曾经使用它们的Grid模块,当它被包含在免费版本中时,现在它已经不再了,因为我只需要Grid模块,对我来说它太贵了.
我想使用[DataSourceRequest] DataSourceRequest request和实现服务器端分页/排序/等ToDataSourceResult
我已经使用LINQ和EF完成了数百次,但是,这个当前项目要求我们使用存储过程,称为 context.Database.SqlQuery
这工作正常,除了我需要将参数传递到存储过程的情况,这导致错误:
SqlParameter已包含在另一个SqlParameterCollection中.
我假设这样做的原因是剑道ToDataSourceResult还试图将SQL参数附加到dataC#不喜欢的对象上.
我在网上看到的一些解决方案是打电话.ToList(),这确实有效,然而,它有点失败,因为它仍然会查询所有结果.
var data = context.Database.SqlQuery<TicketVm>("usp_FleetRentedEquipments @analyst",
new SqlParameter("@analyst", analyst));
return data.ToDataSourceResult(request);
Run Code Online (Sandbox Code Playgroud) 在将我的kendo-ui网格移动到bootstrap模式中之前,我会点击Add Row,然后选择3个输入中的第一个.然后我会选择第二个,然后是第三个然后选项卡到复选框按钮,我将按下回车键并添加行.然后焦点将返回到"添加行"按钮,我可以按Enter键再次开始处理.那么现在它在一个模态中我失去了除了标签之外的一切.我找到了使用jquery来应用焦点的解决方案,但我已经在我的网格控制器中有了它.
Kendo-ui网格控制器
$scope.mainGridOptions = {
dataSource: dataSource,
pageable: false,
toolbar: [{ name: "create", text: "Add Product", }],
columns: [
{ field: "product", title: "Product", width: "95px", editor: productEditor },
{
field: "price", title: "Price", width: "95px", format: "{0:c2}", editor: priceEditor
},
{
field: "sqft", title: "Square Feet", width: "95px", editor: sqftEditor
},
{
command: [{ name: 'edit', text: { edit: '', update: '', cancel: '' }, width: '20px' }, { name: 'destroy', text: '' }], title: ' ', width: '80px' …Run Code Online (Sandbox Code Playgroud) 我正在使用MVVM模式构建一个Kendo Grid,我想要2个自定义过滤器:
extra = false和自定义运算符的通用网格过滤器与此Kendo Grid演示非常相似.我似乎无法使用data-filterable属性或filterable ui列上的MVVM模式:
<div data-role="grid"
data-filterable="customGridFilter"
data-columns="[
{ field: 'Id', hidden: 'true' },
{ field: 'Name', filterable: '{ ui: customNameFilter }' },
{ field: 'Value' }
]"
data-bind="source: gridDs">
</div>
Run Code Online (Sandbox Code Playgroud)
我已经创建了一个JS小提琴来说明我的目标.
我想以编程方式设置Kendo UI网格列宽.我使用以下代码:
function setColumnWidths(grid, options) {
for (var i = 0; i < options.columns.length; i++) {
grid.columns[i].width = options.columns[i].width;
}
}
Run Code Online (Sandbox Code Playgroud)
在执行语句后在chrome中调试时,grid.columns [i] .width似乎被适当地设置为新值,但是GUI中没有任何变化,列宽保持不变.我错过了什么?
kendo-grid ×10
kendo-ui ×9
javascript ×5
jquery ×3
asp.net-mvc ×2
c#-4.0 ×1
client-side ×1
filter ×1
popup ×1
razor ×1
sql-server ×1