我正在使用Telerik网格来呈现下面用户收到的备忘录是代码
<%Html.Telerik().Grid<UserManagement.Models.SentMemos>()
.Name("ReceivedMemos")
.Sortable(sorting => sorting
.OrderBy(sortOrder => sortOrder.Add(o => o.MemoDate).Descending()))
.DataBinding(dataBinding => dataBinding
//Ajax binding
.Ajax()
//The action method which will return JSON
.Select("_AjaxBindingReceivedMemos", "OA" )
).
Columns(colums =>
{
colums.Bound(o => o.MemoID).ClientTemplate(Html.ActionLink("Reply", "ReplyMemo", "OA", new { MemoID = "<#=MemoID#>"}, null).ToString()).Title("Reply").Filterable(false).Sortable(false);
colums.Bound(o => o.MemoID).ClientTemplate(Html.ActionLink("Acknowledge", "PreviewMemo", "OA", new { id = "<#=MemoID#>"}, null).ToString()).Title("Acknowledge").Filterable(false).Sortable(false);
colums.Bound(o => o.Subject).ClientTemplate(Html.ActionLink("<%#=Subject#>", "PreviewMemo", "OA", new { id = "<#=MemoID#>" }, null).ToString()).Title("Subject");
//colums.Bound(o => Html.ActionLink(o.Subject,"PreviewMemo","OA",new{id=o.MemoID},null).ToString()).Title("Subject");
colums.Bound(o => o.FromEmployeeName);
colums.Bound(o => o.MemoDate);
})
.Sortable()
.Filterable()
.RowAction((row) =>
{ …Run Code Online (Sandbox Code Playgroud) 我想知道我是否可以设计一种通用的方法来设计Telerik MVC Grid.示例:Model是FieldDescriptor的List.FieldDescriptor具有名称,值和类型.因此,我想根据模型中的数据显示网格的列 - 取决于哪些字段来源以及它们的类型.但是,如果您明确引用模型属性,Telerik MVC Grid只知道如何创建列.
我需要某种代码,它会每5分钟刷新一次页面,如果不是页面,那么只显示Telerik网格,因为这就是所有需要的.
只有在可能的情况下,如果在页面上没有活动5分钟后才会出现其他事情,但这不是核心功能.
我有两个radgrid,对于第一个radgrid,我绑定来自serverside的数据,而对于第二个radgrid,我通过sqldatasource从clientside绑定数据.我通过clientside绑定数据的radgrid2,分页属性工作正常,我的网格每次都刷新.但是主要的问题是当从服务器端绑定radgrid时我的分页属性不起作用,当我从服务器端绑定数据时,我必须设置为分页工作的任何属性,任何人都可以帮助找出问题.
这是我的aspx页面代码,其中包含radgrid
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="RadGridRefreshTest.aspx.cs" Inherits="RadGridTest.RadGridRefreshTest" enableEventValidation="false" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<telerik:RadScriptManager ID="RadScriptManager1" runat="server" EnablePageMethods="true">
</telerik:RadScriptManager>
<telerik:RadGrid ID="RadGrid1" runat="server" AllowPaging="true" PageSize="10" AllowCustomPaging="True" onpageindexchanged="RadGrid1PageIndexChanged" >
<PagerStyle Mode="NextPrevAndNumeric" />
</telerik:RadGrid>
second grid
<telerik:RadGrid ID="RadGrid2" runat="server" CellSpacing="0"
DataSourceID="SqlDataSource" GridLines="None"
onpageindexchanged="RadGrid2PageIndexChanged" >
<MasterTableView AutoGenerateColumns="False" DataKeyNames="CustomerID"
DataSourceID="SqlDataSource" AllowPaging="true" PageSize="10" >
<CommandItemSettings ExportToPdfText="Export to PDF"></CommandItemSettings>
<RowIndicatorColumn FilterControlAltText="Filter RowIndicator column">
<HeaderStyle Width="20px"></HeaderStyle>
</RowIndicatorColumn>
<ExpandCollapseColumn FilterControlAltText="Filter ExpandColumn column">
<HeaderStyle Width="20px"></HeaderStyle> …Run Code Online (Sandbox Code Playgroud) 我目前正在测试Kendo UI MVC Extensions Beta.我正在尝试实现双击 - 编辑,但我不知道如何获得rowId.
JavaScript的:
$('#GridPedidos table tr').live('dblclick', function () {
alert(' grid dbl clicked');
});
Run Code Online (Sandbox Code Playgroud)
视图:
@(Html.Kendo().Grid(Model) _
.Name("GridPedidos") _
.Columns(Sub(column)
column.Bound(Function(item) item.idPedidoDocumentacao).Width("5%")
column.Bound(Function(item) item.descEstadoPedidoDoc).Width("25%")
column.Bound(Function(item) item.descTipoPedidoDoc).Width("25%")
column.Bound(Function(item) item.data).Width("25%").Format("{0:dd-MM-yyyy}")
column.Command(Function(item) item.Destroy()).Width("10%")
End Sub) _
.DataSource(Sub(ds)
ds.Ajax().ServerOperation(False).Read(Sub(s)
s.Action("GetListaGrid", "listaPedidos")
End Sub).Create(Sub(s)
s.Action("detalhePedido", "Pedidos")
End Sub).Model(Sub(m)
m.Id(Function(p) p.idPedidoDocumentacao)
End Sub).Destroy(Sub(d)
d.Action("apagaPedido", "listaPedidos")
End Sub)
End Sub) _
.Selectable()
)
Run Code Online (Sandbox Code Playgroud)
我可以通过此功能检测到双击,但我如何获取ID?
我按照这个演示如何使用我的自定义New Item控件创建网格.我有一个非常简单的问题 - 我在哪里定义新的记录按钮,就像这个在演示中?

在这里将问题作为答案发布后,我通过创建新问题来纠正此问题.
我正在尝试在kendo网格中创建行过滤器,以显示该列中可能值的DropDown.到目前为止,我得到的最接近的是Pluc 在链接问题中的例子.它仍然没有按预期工作.
在kendoGrid的列中,我定义了一个这样的字段:
{
field: "Herkunft",
title: "Herkunft",
width: "120px",
type: "string",
filterable:
{
cell:
{
showOperators: false,
template: herkunftDropDownEditor
}
}
}
Run Code Online (Sandbox Code Playgroud)
这是herkunftDropDownEditor函数:
function herkunftDropDownEditor(element) {
element.kendoDropDownList({
autoBind: false,
optionLabel: "--Select Value--",
dataTextField: "Value",
dataValueField: "Value",
valuePrimitive: true,
dataSource: herkunftDataSource
});
}
Run Code Online (Sandbox Code Playgroud)
和下拉列表的数据源:
var herkunftDataSource = new kendo.data.DataSource({
data: [
{ Value: "Choice One" },
{ Value: "Choice Two" }
]
});
Run Code Online (Sandbox Code Playgroud)
它不起作用.我在Chrome中遇到的JS错误就行了:
element.kendoDropDownList({
Run Code Online (Sandbox Code Playgroud)
错误说:"Uncaught TypeError: undefined is not a function".由于某种原因它不能使用kendoDropDownList函数.
我也觉得令人困惑的是Telerik在他们的例子中使用模板template: …
我有一个包含布尔值CreateIncident的Telerik MVC网格.对于新行,我想将该值设置为true.对于编辑,如果值已经为true,我想禁用该复选框.Kendo UI显然添加了一种方法来确定该行是否是新的,但是在MVC版本中无法访问相同的调用.我可以拦截C#中的Insert和Update事件,但是在他们点击Save按钮之后.我可以拦截Javascript中的编辑事件,这是上面的Kendo答案进行调用的地方.
或者,如果有更好的方法来解决这个问题,我愿意接受建议.
我有一个方法,包括14个if语句,我必须做12次完全相同的事情,所以像160 if语句.如何重构以使其更干净?我正在使用telerik radgrid,我将条件格式应用于单元格,但每列不同,并且根据不同列中的值而不同.这是我方法的开始.
fyi:它确实有效.
protected void RadGrid1_ItemDataBound(object sender, Telerik.Web.UI.GridItemEventArgs e)
{
//Is it a GridDataItem
if (e.Item is GridDataItem)
{
//Get the instance of the right type
GridDataItem dataBoundItem = e.Item as GridDataItem;
//Check the formatting condition
if (dataBoundItem["sample_hour"].Text == "4hr YP")
{
if (float.Parse(dataBoundItem["ph"].Text) > 5.72 || float.Parse(dataBoundItem["ph"].Text) < 4.75)
{
dataBoundItem["ph"].BackColor = Color.Yellow;
dataBoundItem["ph"].ForeColor = Color.Black;
dataBoundItem["ph"].Font.Bold = true;
}
if (float.Parse(dataBoundItem["brix"].Text) > 22.36 || float.Parse(dataBoundItem["brix"].Text) < 17.35)
{
dataBoundItem["brix"].BackColor = Color.Yellow;
dataBoundItem["brix"].ForeColor = Color.Black;
dataBoundItem["brix"].Font.Bold = true; …Run Code Online (Sandbox Code Playgroud) telerik-grid ×10
telerik ×5
asp.net ×3
asp.net-mvc ×2
c# ×2
javascript ×2
kendo-grid ×2
radgrid ×2
.net ×1
data-binding ×1
datagridview ×1
generics ×1
gridview ×1
kendo-ui ×1
telerik-mvc ×1