2017-06-16 68 views
0

我在Visual Studio 2015中,並使用Telerik在RadGrid中創建我的實體的簡單列表。我沒有得到任何編譯錯誤或運行時錯誤。頁面呈現,但網格丟失(除了網格應該是細線,我沒有看到任何列或數據等)Telerik UI Radgrid強類型GridTemplateColumn問題

我正在使用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。

回答

0

您不需要使用模型綁定語法,RadGrid會自動使用綁定列執行此操作。首先,確保你的選擇方法實際上是返回一些東西,然後爲你的網格列試試。

<MasterTableView> 
       <Columns> 
        <telerik:GridBoundColumn DataField="EventID" HeaderText="Event ID Number" /> 
        <telerik:GridBoundColumn DataField="EventName" HeaderText="Event Name:" />       
       </Columns> 
      </MasterTableView>