Telerik UI Radgrid 强类型 GridTemplateColumn 问题
Telerik UI Radgrid Strongly Typed GridTemplateColumn issue
我在 Visual Studio 2015 年使用 Telerik 在 RadGrid 中创建我的实体的简单列表。我没有收到任何编译错误或 运行 时间错误。页面呈现但缺少网格(除了网格应该在的地方有一条细线,我没有看到任何列或数据等)
我正在使用 EF。这是我的实体:
public class Event
{
public Event()
{
Comments = new List<Comment>();
}
[ScaffoldColumn(false)]
public int EventID { get; set; }
[Required,MaxLength(50), Display(Name ="Event Name")]
public string EventName { get; set; }
[MaxLength(500)]
public string EventDescription { get; set; }
public DateTime EventDate { get; set; }
//public List<User> Attending { get; set; } // might have to remove this:
public ICollection<Comment> Comments { get; set; }
public bool CommentLock { get; set; } // A property to enable/stop users from commenting
// set raltionships
// FK to Venue
public int VenueID { get; set; }
//Nav properties:
public Venue Venue { get; set; }
}
我的webForm.aspx文件
<%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="Test.aspx.cs" Inherits="WebApp.Test" %>
<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %>
<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server">
<br />
<telerik:RadGrid
ID="RadGrid1"
runat="server"
AutoGenerateColumns="False"
SelectMethod="GetEvents" AllowPaging="True" AllowSorting="True" GridLines="None">
<ClientSettings>
<Selecting AllowRowSelect="True" />
</ClientSettings>
<MasterTableView ItemType="DomainModels.Event">
<Columns>
<telerik:GridTemplateColumn HeaderText="Event ID Number:">
<ItemTemplate><%# Item.EventID %></ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn HeaderText="Event Name:">
<ItemTemplate><%# Item.EventName %></ItemTemplate>
</telerik:GridTemplateColumn>
</Columns>
</MasterTableView>
<FilterMenu EnableTheming="True">
<CollapseAnimation Type="OutQuint" Duration="200"></CollapseAnimation>
</FilterMenu>
</telerik:RadGrid>
</asp:Content>
我的代码隐藏在 aspx.cs 文件
using System;
using System.Linq;
using DomainModels;
using DataLayer;
namespace WebApp
{
public partial class Test : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
public IQueryable<Event> GetEvents()
{
CoffeeEventsDBContext context = new CoffeeEventsDBContext();
IQueryable<Event> returnSet = context.Events;
return returnSet;
}
}
}
当我 运行 得到这个页面时,我看到了一条与网格主题相匹配的水平细线,但我没有看到任何列。
我也在aspx文件的这一行设置了断点:
<ItemTemplate><%# Item.EventID %></ItemTemplate>
但从未命中断点。
我做错了什么?感谢你的帮助。 WebFroms/Telerik.
的新手
您不需要使用模型绑定语法,RadGrid 使用绑定列自动执行此操作。首先,确保您的 select 方法确实返回了一些东西,然后为您的网格列尝试这个。
<MasterTableView>
<Columns>
<telerik:GridBoundColumn DataField="EventID" HeaderText="Event ID Number" />
<telerik:GridBoundColumn DataField="EventName" HeaderText="Event Name:" />
</Columns>
</MasterTableView>
我在 Visual Studio 2015 年使用 Telerik 在 RadGrid 中创建我的实体的简单列表。我没有收到任何编译错误或 运行 时间错误。页面呈现但缺少网格(除了网格应该在的地方有一条细线,我没有看到任何列或数据等)
我正在使用 EF。这是我的实体:
public class Event
{
public Event()
{
Comments = new List<Comment>();
}
[ScaffoldColumn(false)]
public int EventID { get; set; }
[Required,MaxLength(50), Display(Name ="Event Name")]
public string EventName { get; set; }
[MaxLength(500)]
public string EventDescription { get; set; }
public DateTime EventDate { get; set; }
//public List<User> Attending { get; set; } // might have to remove this:
public ICollection<Comment> Comments { get; set; }
public bool CommentLock { get; set; } // A property to enable/stop users from commenting
// set raltionships
// FK to Venue
public int VenueID { get; set; }
//Nav properties:
public Venue Venue { get; set; }
}
我的webForm.aspx文件
<%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="Test.aspx.cs" Inherits="WebApp.Test" %>
<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %>
<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server">
<br />
<telerik:RadGrid
ID="RadGrid1"
runat="server"
AutoGenerateColumns="False"
SelectMethod="GetEvents" AllowPaging="True" AllowSorting="True" GridLines="None">
<ClientSettings>
<Selecting AllowRowSelect="True" />
</ClientSettings>
<MasterTableView ItemType="DomainModels.Event">
<Columns>
<telerik:GridTemplateColumn HeaderText="Event ID Number:">
<ItemTemplate><%# Item.EventID %></ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn HeaderText="Event Name:">
<ItemTemplate><%# Item.EventName %></ItemTemplate>
</telerik:GridTemplateColumn>
</Columns>
</MasterTableView>
<FilterMenu EnableTheming="True">
<CollapseAnimation Type="OutQuint" Duration="200"></CollapseAnimation>
</FilterMenu>
</telerik:RadGrid>
</asp:Content>
我的代码隐藏在 aspx.cs 文件
using System;
using System.Linq;
using DomainModels;
using DataLayer;
namespace WebApp
{
public partial class Test : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
public IQueryable<Event> GetEvents()
{
CoffeeEventsDBContext context = new CoffeeEventsDBContext();
IQueryable<Event> returnSet = context.Events;
return returnSet;
}
}
}
当我 运行 得到这个页面时,我看到了一条与网格主题相匹配的水平细线,但我没有看到任何列。
我也在aspx文件的这一行设置了断点:
<ItemTemplate><%# Item.EventID %></ItemTemplate>
但从未命中断点。
我做错了什么?感谢你的帮助。 WebFroms/Telerik.
的新手您不需要使用模型绑定语法,RadGrid 使用绑定列自动执行此操作。首先,确保您的 select 方法确实返回了一些东西,然后为您的网格列尝试这个。
<MasterTableView>
<Columns>
<telerik:GridBoundColumn DataField="EventID" HeaderText="Event ID Number" />
<telerik:GridBoundColumn DataField="EventName" HeaderText="Event Name:" />
</Columns>
</MasterTableView>