我的网格是
@(Html.Kendo().Grid<student.Models.SearchViewModel>()
.Name("Grid").HtmlAttributes(new { @class = "studentGrid" })
.Columns(
x =>
{
x.Bound(y => y.Id).Hidden(true);
x.Bound(y => y.Id).ClientTemplate(@"<input type='checkbox' name='checkedRecords' value='#= Id #' class='mainCheckbox' onclick='checkboxClicked(this, ""checkAllMain"")'/>")
.Title("")
.HeaderTemplate(@"<input type='checkbox' name='checkAllMain' onclick='selectAll(this, ""mainCheckbox"");' />")
.HeaderHtmlAttributes(new { style = "text-align:center" })
.Filterable(false)
.Sortable(false)
.HtmlAttributes(new { @class = "checboxClass", style = "text-align:center" });
x.Bound(y => y.abc1).Hidden(false);
x.Bound(y => y.abc2).Hidden(false);
x.Bound(y => y.abc3).Hidden(false);
}
)
.ToolBar(tb =>
{
tb.Custom()
.Text("Export To Excel")
.HtmlAttributes(new { id = "export" })
.Url(Url.Action("Export", Html.CurrentControllerName()));
tb.Custom()
.Text("Expand Selected Rows")
.HtmlAttributes(new { id = "expandSelectedRows" });
})
.Groupable()
.Reorderable(x => x.Columns(true))
.Pageable(x => x.PageSizes(new int[] { 20, 50, 100 }).Input(true).Numeric(true))
.Scrollable(x => x.Enabled(true).Height(Model.Height))
.Resizable(resize => resize.Columns(true))
.Reorderable(reorder => reorder.Columns(true))
.Sortable()
.Selectable()
.Navigatable()
.Filterable()
.ClientDetailTemplateId("subTemplate")
.AutoBind(!Model.NoAutoload)
.Events(ev => { ev.DataBound("DataBoundSearch"); })
.DataSource(dataSource => dataSource
.Ajax().PageSize(100)
.ServerOperation(false) // Paging, sorting, filtering and grouping will be done client-side
.Model(model => model.Id(c => c.Id))
.Events(events => events.Error("error").RequestStart("RequestStart").RequestEnd("RequestEnd").Change("Changed"))
.Read(x => x.Action("GetData", Html.CurrentControllerName()).Data("ABCPostData")))
)
使用kendo网格时我们选择一行默认情况下用棕色突出显示该行。单击行时无法获取默认颜色。在客户端,它呈现为
<tr class="k-master-row k-state-selected" data-uid="122bb914-87c2-4f0c-9351-52c1d9b84ae5" style="background-color: rgb(255, 255, 255);">
如何设置为background-color:rgb(255,255,255); ?如何将其覆盖为棕色,如背景颜色:#f0713a,border-color:#f0713a?
答案 0 :(得分:1)
有几种方法可以做到这一点。最简单的方法是通过CSS
修改所选行的样式
#grid tr.k-state-selected td {
background-color: #f0713a;
border-color: #f0713a
}
修改所选单元格的样式
#grid td.k-state-selected {
background-color: #f0713a;
border-color: #f0713a
}
并在您的网格声明中确保已设置:
selectable: "cell"
这是单个单元格的demo。
另一种方法是使用themebuilder覆盖剑道风格。但这非常笨重。
如果您想以编程方式执行此操作,也可以通过在网格的change
事件中获取所选元素,然后在代码中设置元素的背景来实现。如果你需要这个选项,我会尝试这样做,但是我看到它的方式,将UI的东西留给css,并将编码留给javascript。