我知道我需要使用模板列,但我不清楚如何使用它.
我有一个返回集合的数据源,我可以将集合中的每个属性分配给一个列.
但我该怎么做:
col.prop1 +' '+ col.prop2?col.prop1.ToString(overloaded)一个简单的代码隐藏示例将有所帮助.我能找到的只是非常复杂的控件和例子.
谢谢.
我正在使用telerik网格.我需要为网格中的所有列应用过滤器.Currenly我正在使用以下代码自定义过滤器选项.通过使用以下代码,我将删除所有列的某些项目.但是,对于任何一个日期列,请告诉我在网格中过滤的可能选项是什么以及如何自定义这些过滤选项?
代码背后
protected void RGVTest_Init(object sender, EventArgs e)
{
GridFilterMenu menu = RGVTest.FilterMenu;
int i = 0;
while (i < menu.Items.Count)
{
if (menu.Items[i].Text == "Between" ||
menu.Items[i].Text == "NotBetween")
{
menu.Items.RemoveAt(i);
}
else
{
i++;
}
}
}
Run Code Online (Sandbox Code Playgroud)
*Aspx:*
<telerik:RadGrid ID="RGVTest" runat="server" Skin="Vista" AllowPaging="True"
AllowFilteringByColumn="true" AllowSorting="true" GridLines="None" OnItemCommand="RGVTest_ItemCommand"
PageSize="10" OnNeedDataSource="RGVTest_NeedDataSource" OnItemDataBound="RGVTest_ItemDataBound"
OnInit="RGVTest_Init">
<GroupingSettings CaseSensitive="false" />
<PagerStyle Mode="NextPrevAndNumeric" AlwaysVisible="true" />
<MasterTableView AutoGenerateColumns="False" CellSpacing="-1" >
<NoRecordsTemplate>
<div style="color: red">
No Records to display!
</div>
</NoRecordsTemplate>
<Columns>
<telerik:GridTemplateColumn DataField="SSN" ReadOnly="True" …Run Code Online (Sandbox Code Playgroud) 我用过Telerik WPF Rad控件v10,它们很好用.但没有使用它的RadGrid.
而且我还没有使用WPF的Infragistics和DevX控件.
记住简单而详细的文档和易于实现的控件和支持,请建议我使用Datagrid的WPF第三方控件.
有人可以解释如何实现以下目标.Telerik Grid组件将使用以下代码生成非编码HTML:
@(Html.Telerik().Grid(Model)
.Name("Grid")
.DataKeys(keys => keys.Add(c => c.ProductID))
.DataBinding(dataBinding => dataBinding.Server()
.Select("ColumnSettings", "Grid")
.Update("ColumnSettings_Save", "Grid")
.Delete("ColumnSettings_Delete", "Grid"))
.Columns(columns =>columns.LoadSettings((IEnumerable<GridColumnSettings>)ViewData["Columns"]))
.Sortable()
)
Run Code Online (Sandbox Code Playgroud)
大概这是因为方法调用包含在"@(....)"中.每当我用自己的组件尝试这个时,结果都是编码的Html.我知道我可以使用Render()输出MvcHtmlString,然后我的Html没有编码,但Telerik网格似乎没有.Render().
谁能向我解释这个秘密?
目前我有一个模型的 DateTime 属性。我正在使用 Telerik MVC 框架,但我使用的是 DateTime 属性,并且此属性的编辑器列是自动生成的,因此在我的视图或控制器中没有控制它的代码。在 Telerik 的网站上,有关于如何为日期时间选择器设置默认日期时间的说明,但此选择器并未在任何地方启动,因为它位于一列中。问题是我想将 DateTime 设置为当前日期和时间(如果尚未指定)。目前,模型的代码如下所示:
public DateTime CreatedDate { get; set;}
Run Code Online (Sandbox Code Playgroud)
我希望它做更多这样的事情:
public DateTime CreatedDate
{
get
{
if (QuestionID != 0)
{
return this.CreatedDate;
}
else
{
return DateTime.Now;
}
}
set { CreatedDate = value; }
}
Run Code Online (Sandbox Code Playgroud)
这样,如果 ID 存在,它将返回为此问题存储的日期时间。如果您正在创建一个新问题,它将获取当前日期时间。
问题出在 Set 上。当我尝试加载屏幕时,将 get 设置为 Stack Overflow。我真的不熟悉这种代码,所以我不知道如何使用它。
之前我们不使用模型,而是使用 JQuery 获取 CreatedDate 的数据并将其设置为当前日期时间。问题是当您转到日期时间的“选择器”部分时,它会转到默认日期时间而不是当前日期时间。这就是为什么我想通过模型、视图或控制器而不是使用 Jquery 来设置它的原因。
如果您能帮助我理解模型中的 Gets 和 Sets,请告诉我!
model-view-controller model datetimepicker telerik-mvc telerik-grid
我在我的Asp.Net MVC3应用程序中使用telerik网格,我想将格式为dd/mm/yyyy的日期绑定到网格的其中一列,如下所示:
Html.Telerik().Grid<TestResults>()
.Name("TestResultGrid")
.DataKeys(keys => keys.Add(c => c.SourceProgramId))
.Columns(columns =>
{
columns.Bound(c => c.OriginalSourceProgramId).Title("Original Case ID").Width("90").Visible(IsOriginalCaseIdVisible);
columns.Bound(c => c.SourceProgramId).Title("Source Program ID").Width ("90").Visible(!IsOriginalCaseIdVisible);
columns.Bound(c => c.Name).Title("Name").Width("140");
columns.Bound(c => c.Points).Title("Points").Width("50");
columns.Bound(c => c.ProgramName).Title("Program").Width("80");
columns.Bound(c => c.DOB).Title("Created Date").Width("80");
})
.DataBinding(dataBinding =>
dataBinding.Ajax()
.Select("_TestResutls", "Test"))
.ClientEvents(events => events
.OnDataBinding("Grid_onDataBinding")
.OnDataBound("Grid_onDataBound")
.OnRowDataBound("onRowDataBound")
.OnRowSelect("onRowSelected"))
.Pageable(paging => paging.PageSize(10))
.NoRecordsTemplate("<b>No Records to display.<b>")
.Sortable()
.Selectable()
.HtmlAttributes(new { @class = "grid_table" })
.Footer(true)
.Render();
Run Code Online (Sandbox Code Playgroud)
DOB的dataType是DateTime?.我想显示格式日期dd/mm/yyyy.我可以将它转换为ToString()来实现这一点,但我已经对此列进行了排序.当我按此列排序时,它将值视为字符串而不返回预期结果.此列可以为空,因此我也无法使用DOB.Date方法.有帮助吗?
我有带有 DropDownList 和 Telerik 的 Kendo UI 网格控件的页面。第一次打开页面时,DropDownList 中没有选择任何项目。当用户在 DropDownList 中选择值时,Grid 才应该对服务器进行 Ajax 调用并加载相应的数据。
当用户在 DropDownList 中选择项目时,我的代码工作正常,但问题是第一次打开页面时,我的 DropDownList 中没有值,Grid 不应调用服务器。
我的问题是,如果 DropDowList 中没有选择任何项目,如何防止网格不调用服务器?
<div>
@Html.Kendo().DropDownList().Name("broker").DataTextField("GrandParentName").DataValueField("Id").BindTo(Model).SelectedIndex(@selectedIndex).Events(e => e.Change("brokerChanged"))
</div>
@(Html.Kendo().Grid<OrderViewModel>()
.Name("Orders")
.HtmlAttributes(new {style = "height: 500"})
.Columns(c =>
{
c.Bound(p => p.Id)
.Width(50)
.Title("")
.Sortable(false)
.IncludeInMenu(false)
.ClientTemplate((@Html.ActionLink("Edit", "Index", "Splits", new {Id = "OrderId"}, null).ToHtmlString().Replace("OrderId", "#=Id#")));
c.Bound(p => p.TradeDate)
.Title("Trd Dt")
.Format("{0:d}")
.Width(90)
.HtmlAttributes(new {style = "text-align: right"});
c.Bound(p => p.Price)
.Title("Price")
.Format("{0:n}")
.Width(100)
.HtmlAttributes(new {style = "text-align: right"});
c.Bound(p => p.Status) …Run Code Online (Sandbox Code Playgroud) 我正在研究nopcommerce2.8版本.我有一个telerik插件实现的问题来创建新的网格.我实施了一个概念,我希望为不同的客户提供不同价格的产品.因此,要为不同的客户分配新价格,请在管理面板中使用telerik在编辑产品变量页面中创建网格.我创建了一个新选项卡来显示这些详细信息.我能够在网格中显示客户名称和价格,但是当我在编辑一行后点击更新按钮时,我无法调用更新功能.同样的更新功能我也要求删除网格行,所以当我点击删除相同的更新功能获取触发器.我认为在View中错过了一些设置.请帮我解决这个更新问题.
我的nopcommerce的模型,视图和控制器如下所示.
谢谢.
//Model
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Web.Mvc;
using FluentValidation.Attributes;
using Nop.Admin.Models.Customers;
using Nop.Admin.Validators.Catalog;
using Nop.Web.Framework;
using Nop.Web.Framework.Localization;
using Nop.Web.Framework.Mvc;
using Telerik.Web.Mvc;
namespace Nop.Admin.Models.Catalog
{
public partial class CustomerProductPriceModel : BaseNopModel
{
public int Customer_Id { get; set; }
[NopResourceDisplayName("Customer Name")]
public string Customer_name { get; set; }
[NopResourceDisplayName("Price")]
public decimal Price { get; set; }
[NopResourceDisplayName("Unit")]
public string Units { get; set; }
}
}
// view
@(Html.Telerik().Grid<CustomerProductPriceModel>()
.Name("Grid")
.DataKeys(x =>
{
x.Add(y => y.Customer_Id);
})
.DataBinding(dataBinding …Run Code Online (Sandbox Code Playgroud) 嗨,我是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值.谢谢,抱歉我的英语不好
对于开发中的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 ×10
telerik ×5
asp.net-mvc ×4
telerik-mvc ×3
asp.net ×1
c# ×1
datetime ×1
devexpress ×1
enums ×1
filtering ×1
infragistics ×1
kendo-ui ×1
model ×1
nopcommerce ×1
radgrid ×1
razor ×1
wpf-controls ×1