嗨,我是asp.net mvc和telerik控件的新手.当我点击行时,我怎么能得到o.Id值?
<%= Html.Telerik().Grid(Model)
.Name("RolesGrid")
.DataKeys(keys => keys.Add(o => o.Id))
.Selectable()
.Columns(columns =>
{
columns.Bound(o => o.Name);
columns.Bound(o => o.Description);
})
.Pageable()
.ClientEvents(events => events
.OnRowSelect("onRowSelect"))
%>
Run Code Online (Sandbox Code Playgroud)
在js代码中:
function onRowSelect(e) {
var ordersGrid = $('#RolesGrid').data('tGrid');
var row = e.row;
var dataItem = ordersGrid.dataItem(row);
alert(dataItem);
}
Run Code Online (Sandbox Code Playgroud)
但是dataItem为null,并且生成的html文件中没有id值.谢谢,抱歉我的英语不好
我对这里的帖子有一个非常类似的问题: 带复选框的Telerik网格 - 当网格最初绘制时,复选框不显示
基本上,我有一个带有ClientTemplate列的telerik MVC3剃刀网格,该列包含一个复选框.当页面最初加载时,复选框不存在 - 而是我想要复选框的值.但是,当触发ajax(例如将列分组在一起)时,复选框显示没有问题.
我真的不明白我上面粘贴的线程的解决方案....所以也许这就是答案,我只是不知道如何调用网格的构造函数.这是我的代码:
research.cshtml
@(Html.Telerik().Grid(Model)
.Name("Grid")
.DataKeys(keys => keys.Add(m => m.MessageInformation.MessageGUID))
.DataBinding(databinding => databinding.Ajax()
.Select("_ViewMessages", "Results")
.Update("_UpdateSelectedMessage", "Results"))
.Columns(columns =>
{
columns.Bound(o => o.MessageInformation.MessageGUID)
.ClientTemplate("<input type='checkbox' id='chkMessage' name='checkedRecords' value='<#= MessageInformation.MessageGUID #>' />")
.Title("Check")
.Width(50)
.HtmlAttributes(new { style = "text-align:center" });
columns.Bound(o => o.MessageInformation.MessageGUID).Title("ID");
columns.Bound(o => o.MessageInformation.MessageReceivedDateTime).Title("Received Date").Format("{0:d}");
columns.Bound(o => o.MessageInformation.MessageReceivedDateTime).Title("Received Time").Format("{0:t}");
columns.Bound(o => o.MessageInformation.MedVAMessageTypeString).Title("Message Type");
columns.Bound(o => o.MessageStatus).Title("Status");
columns.Command(commands => commands.Edit().ButtonType(GridButtonType.Text)).Title("Edit");
})
.Editable(editing => editing.Mode(GridEditMode.PopUp))
.Scrollable(scrolling => scrolling.Enabled(true))
.Sortable(sorting => sorting.Enabled(true))
.Pageable(paging => paging.Enabled(true)) …Run Code Online (Sandbox Code Playgroud) 我已正确绑定Telerik RadGridView,第一列是绑定复选框:
<telerik:GridViewCheckBoxColumn DataMemberBinding="{Binding Selected, Mode=TwoWay}"
Header="Generate" Width="95" IsReadOnly="False"/>
Run Code Online (Sandbox Code Playgroud)
我可以点击并更改复选框状态没问题.问题是选中复选框并不直观.为了让用户单击复选框,他们必须先单击复选框单元格,再次单击以激活,然后再次单击以选中复选框.单击三次以选中复选框.
有没有更好的或本地的方式使这无缝?我希望用户能够单击一个复选框并立即查看它,无论是否已选择行/单元格.我希望用户只需点击一下即可进行检查.
Infragistics控制可以在几年前完成.
有人可以解释如何在Telerik RadGridView for Silverlight中获得更直观的复选框行为吗?
对于开发中的Web应用程序(ASP.Net MVC),我正在使用telerik网格.网格绑定到我的列表的IQueryable,因为它是一个大表,我希望telerik在列表中应用它的过滤器,然后执行此结果,而不是下载10'000行(使用连接的表),然后使用过滤器,仅使用行.
我正在使用(我真的需要它用于此页面,这是关键功能之一)网格的过滤器/顺序.
主列之一(确定数据类型)是枚举.
问题是,"Specified type member is not supported in linq to entities"一旦我尝试过滤/排序,我就会得到一个.
我要将它绑定在枚举(而不是映射的int)上,因为如果我使用id,filter/order by将在int上,我不能指望用户知道外表的id.
我只是无法再次实现自己所有网格参数(位于网址)(我假设,它要么我做所有事情,要么什么都没有)并正确过滤它,正确地订购它).
你有解决方法吗?
我有一个Telerik Grid,它有一个需要显示列总和的页脚.但是,其中一个列的数据类型是TimeSpanTelerik的Sum聚合不支持的.我需要用来GridBoundColumnBuilder.Aggregate()添加聚合.所以我想基本上问题是如何在telerik的Aggregate()方法中引用我的自定义聚合.如果你发现其他任何我做错了,请随意指出:)使用这篇文章,我为我的自定义聚合创建了一个类SumAggregate,如下所示.(请注意,这还没有完成 - 它取自文章.它实际上实现了一个完全不同的聚合)
SumAggregate.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Telerik.Web.Mvc;
namespace TelerikPOC.CustomAggregates
{
public class SumAggregate : AggregateFunction
{
private System.Collections.Generic.List<object> distinctValues;
/// <summary>
/// Initializes the current aggregate function to its initial
/// state ready to accumulate and merge values.
/// </summary>
/// <remarks>
/// This method is called every time the accumulation of values
/// must start over for a new subset of …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用C#在我的MVC应用程序中的telerik网格中显示DateTime时应用一些逻辑,但是在使其工作时遇到一些麻烦.我的第一个问题是我不完全理解ClientTemplate调用是如何工作的.我也无法找到解释它是如何工作的文档.所以,解释它的工作方式会有所帮助,然后可能具体说明我的例子有什么问题:
columns.Bound(p => p.SetupDate).ClientTemplate("<#= SetupDate == DateTime.Min || SetupDate == null ? string.empty : SetupDate #>")
Run Code Online (Sandbox Code Playgroud)
更新:
我和丹尼尔的建议一起去了.我只是从ClientTemplate()调用此函数.这是最终的代码:
// Setup a minDate to mimic C#'s Date.MinDate constant.
var minDate = new Date();
minDate.setFullYear(1, 0, 1);
minDate.setHours(0, 0, 0, 0);
function checkDateWithFormat(d, f)
{
if (d.getTime() == minDate.getTime())
{
return "";
}
else
{
return d.toString(f);
}
}
Run Code Online (Sandbox Code Playgroud) 我们如何删除先前在回发上的Telerik RadGrid上完成的数据排序.
我radgridview在 C# winform 应用程序中使用来显示数据库中的数据。我也在通过 ADO.Net 更改数据库。问题是在我更改数据库后,例如通过删除一行或添加一个新行,gridview 中没有出现更改。
我还想提一下,我已经通过智能标签将数据库绑定到 gridview,当我尝试创建一个新数据集并将其分配给radgridview1.datasource我时,我遇到了大量错误。
关于如何强制radgridview重新加载它的任何建议datasource?
我在我的项目中使用Kendo网格.我正在使用文化脚本进行国际化.使用该脚本,它根据我希望将数字对齐的文化格式化网格中的数字,我该如何实现它.下面是一个小提琴,我在格式化数字列 http://dojo.telerik.com/ujiSE/12
谢谢,努普尔
我正在尝试DateTime在我的Kendo ListView模板中格式化我的对象,但建议的kendo.toString方法似乎对我不起作用.
我已经删除了许多与我的问题无关的代码,使其更容易理解.
我有一个Kendo DataSource看起来如下:
contactDataSource: new kendo.data.DataSource({
transport: {
read: {
url: "/baa/contact/getcontacts",
dataType: "json",
type: "GET"
}
},
schema: {
model: {
id: "Id",
fields: {
Id: { type: "number", editable: false, nullable: true },
CompanyName: { type: "string" },
ContactName: { type: "string" },
ContactPhone: { type: "string" },
ContactEmail: { type: "string" },
ImageUrl: { type: "string" },
Website: { type: "string" },
RecentBaas: [
{
Name: { type: "string" …Run Code Online (Sandbox Code Playgroud) telerik-grid ×10
telerik ×7
asp.net-mvc ×3
c# ×3
kendo-grid ×2
aggregate ×1
dataset ×1
enums ×1
kendo-ui ×1
silverlight ×1
telerik-mvc ×1
winforms ×1