我正在使用Kendo UI Grid,默认情况下我会得到列分隔线或边框线.(垂直线向下).你如何删除它们.
加价:
<div class="grid">
<h3>Current<span class="goal-count">15</span></h3>
</div>
Run Code Online (Sandbox Code Playgroud)
这是一个JSFiddle项目的链接:http: //jsfiddle.net/mackry/RbmAz/
有什么建议?
我正在使用ASP.NET MVC Server Wrappers为KendoUI Grid使用AJAX进行绑定(v2013.1.319)并使用内联编辑.当我编辑记录并单击更新时,帖子发生在服务器上并且记录成功保存.我按文档建议返回JSON响应,但KendoUI Grid保持编辑模式.如果单击"取消",则基础本地数据不会反映更改.如果我刷新,则会正确显示更改.我需要一些帮助来找出更新无效的原因.创建和删除功能工作正常.
<div style="width: 800px">
@(Html.Kendo().Grid<RoleGridModel>()
.Name("grdRoles")
.Columns(columns =>
{
columns.Bound(r => r.Name).Width(200);
columns.Bound(r => r.Description).Width(300);
columns.Command(command => {
if (security.CanAdd || security.CanUpdate) command.Edit();
if (security.CanDelete) command.Destroy();
command.Custom("Manage Access").Click("manageAccess");
})
.Width(300);
})
.Groupable(grouping => grouping
.Enabled(false))
.Events(events => { if (security.CanAdd && !security.CanUpdate) events.DataBound("function() { this.table.find('.k-grid-edit').hide(); }"); })
.DataSource(dataSource => dataSource
.Ajax()
.Model(model => model.Id(r => r.RoleId))
.Events(events => events.Error("error_handler"))
.Read(read => read.Action("Index", "Roles", new { area = "Setup" }))
.Create(create => create.Action("Create", "Roles", new { …Run Code Online (Sandbox Code Playgroud) 我正在MVC4应用程序中创建一个kendo ui网格,如下所示:
@(Html.Kendo().Grid<GridResultItemViewModel>()
.Columns(columns =>
columns.Bound(b => b.Distance).Width(35);
columns.Bound(b => b.Height).Width(35);
...)
.ClientDetailTemplateId("wellResultDetailsTemplate")
.Name("ResultGrid"); // etc.
Run Code Online (Sandbox Code Playgroud)
我无法找到一种方法来设置分层/细节扩展器列的宽度.
在.k-hierarchy-cell中设置css的宽度或最大宽度似乎不起作用.
Kendo ASP.NET-MVC
我们的设计师想要一个没有边框或框架且没有交替行背景的网格.基本上是没有线条的白色盒子.这是财务报告.干净利落.
应该有一个单色的页眉和页脚行,列名和分页位于其中.
这可以实现吗?我们不想编辑太多的主CSS,因为网站上的其他控件应该有边框和颜色.这只是网格.
我希望能够使用ajax调用的结果来决定我将填充哪个Kendo Grid.如果我只在数组中收到一个项目,我想填充网格,否则我有多个项目的另一个网格.
我的jQuery
$.ajax({
type: "POST",
dataType: "json",
url: 'Item/GetItems/',
data: { number: number },
success: function (data) {
if (data.length == 1) {
var sGrid = $("#SingleGrid").data("kendoGrid").dataSource.data(data);
//I´ve also tried this
//sGrid.refresh();
}
else {
var mGrid = $("#MultipleGrid").data("kendoGrid").dataSource.data(data);
//I´ve also tried this
//mGrid .refresh();
}
},
error: function () {
}
});
Run Code Online (Sandbox Code Playgroud)
我的控制器动作
public ActionResult GetItems([DataSourceRequest] DataSourceRequest request, string number)
{
var items = _idg.GetItems(number);
return Json(items.ToDataSourceResult(request, ModelState));
}
Run Code Online (Sandbox Code Playgroud)
我一直在监控Firebug,它没有显示任何错误.我试图通过决定填充其中一个网格来阻止对服务器的第二次调用.有没有办法像这个客户端那样强制dataSource刷新?(不调用dataSource上的read函数,它将第二次调用服务器)
###### EDITED ########
function TestGrid() {
var dataSource …Run Code Online (Sandbox Code Playgroud) 我想在更新子网格记录时更新父网格,这可能吗?如果是这样,任何人都可以提供任何建议吗?
首先,我不确定哪个事件最适合在子网格上使用.我希望触发子网格的CRUD操作,然后再次加载父网格的内容,最好是通过Ajax.
下面是我的网格:
@{
ViewBag.Title = "Bills: Parent/Child";
}
<h2>Bills Index</h2>
@(Html.Kendo().Grid<BillParent>()
.Name("BillParentsGrid")
.Columns(columns =>
{
columns.Bound(h => h.Category);
columns.Bound(h => h.Description);
columns.Bound(h => h.Amount);
columns.Command(command =>
{
command.Edit();
}).Width(95);
})
.DataSource(dataSource => dataSource
.Ajax()
.Model(model =>
{
model.Id(h => h.BillId);
model.Field(h => h.BillId).Editable(false);
})
.Events(events => events.Error("error_handler"))
.Read(read => read.Action("BillParents_Read", "Bill"))
.Update(update => update.Action("BillParent_Update", "Bill"))
)
.Events(events => events.DataBound("dataBound"))
.ClientDetailTemplateId("BillChildren")
)
<script id="BillChildren" type="text/kendo-tmpl">
@(Html.Kendo().Grid<BillChild>()
.Name("BillChildren_#=BillId#")
.Columns(columns =>
{
columns.Bound(d => d.BillId).Width(50);
columns.Bound(d => d.Description).Width(150);
columns.Bound(d => d.Amount).Width(80);
columns.Command(command …Run Code Online (Sandbox Code Playgroud) 我有一个通过将值从下拉列表推送到内置的剑道过滤器中来过滤的剑道网格.当我在文本框中键入值并搜索时,我可以使用相同的方法搜索网格.这是我的剑道网格和下拉列表
@(Html.Kendo().DropDownListFor(model => model.MyObject.ID)
.Name("Objects").DataTextField("Value").DataValueField("Key")
.BindTo(@Model.MyObjectList).AutoBind(true)
.HtmlAttributes(new { id = "selectedObject" })
<a class="button" onclick="searchGrid()" id="search">Search</a>
@(Html.Kendo().Grid<MyViewModel>()
.Name("MyGrid").HtmlAttributes(new { style = " overflow-x:scroll;" })
.Columns(columns =>
{
columns.Bound(a => a.MyObject.Name).Title("Field 1");
columns.Bound(a => a.Column2).Title("Field 2");
}
.Pageable(page => page.PageSizes(true))
.Scrollable(src => src.Height("auto"))
.Sortable()
.Filterable()
.Reorderable(reorder => reorder.Columns(true))
.ColumnMenu()
.DataSource(dataSource => dataSource
.Ajax()
.PageSize(10)
.Read(read => read.Action("GetList_Read", "MyController"))
)
)
<script>
function searchGrid()
{
selectedObject = $("#selectedObject").data("kendoDropDownList");
gridFilter = = { filters: [] };
if ($.trim(selectedRecipient).length > 0) {
gridListFilter.filters.push({ field: …Run Code Online (Sandbox Code Playgroud) 从AngularJS和KendoUI Grid开始.我想得到定义网格的行值.
我在Kendo UI Grid中定义了一个按钮模板,如下所示:
$scope.gridOptions = {
dataSource: {
type: "json",
data: $scope.teams,
pageSize: 5
},
sortable: true,
selectable: row,
columns: [
{field: "TeamID", title: "Team ID"},
{field: "TeamName", title: "Name" },
{field: "TeamDistrict", title: "District"},
{
template: "<button class=\"k-button\" ng-click=\"manageTeam(#=TeamID#)\">Manage</button>"
}
]
};
Run Code Online (Sandbox Code Playgroud)
我还定义了一个函数如下:
$scope.manageTeam = function(tid){
console.log(tid);
};
Run Code Online (Sandbox Code Playgroud)
我正在获取传递的团队ID的值,但我想将整行值捕获到一个对象中,以便我可以得到它:
$scope.manageTeam = function(rowValue){
console.log(rowValue.TeamID);
console.log(rowValue.TeamName);
console.log(rowValue.TeamDistrict);
};
Run Code Online (Sandbox Code Playgroud)
欣赏有关如何实现这一目标的任何见解.谢谢.
我要求将分组网格默认为折叠状态,除非它包含具有特定值的行(Status =="Closed").
我得到了这么远,但是因为dataView只包含分组字段的行数而不是我以前见过的行.
function collapse_rows() {
var grid = this.grid;
var dataView = this.dataSource.view();
for (var i = 0; i < dataView.length; i++) {
if (dataView[i].status == "Closed") {
var uid = dataView[i].uid;
$("#userQuestionSetGrid tbody").find("tr[data-uid=" + uid + "]").
closest("tr.k-grouping-row").each(
function (e) {
e.collapseRow(this);
});
} else {
var uid = dataView[i].uid;
$("#userQuestionSetGrid tbody").find("tr[data-uid=" + uid + "]").
closest("tr.k-grouping-row").each(
function (e) {
//e.collapseRow(this);
});
}
}
}
Run Code Online (Sandbox Code Playgroud) 我正在为Angular 2使用Kendo网格组件.我注意到每当我输入一个过滤器(在列标题内)时它会触发stateChanged事件.但我正在调用服务器,所以如何添加某种延迟以避免在每次按键时调用服务器?
kendo-grid ×10
kendo-ui ×9
asp.net-mvc ×2
javascript ×2
jquery ×2
angularjs ×1
c# ×1
css3 ×1
telerik ×1