2017-06-16 1 views
0

Je suis sur Visual Studio 2015 et en utilisant Telerik pour créer des listes simples de mon entité dans un RadGrid. Je ne reçois aucune erreur de compilation ou erreur d'exécution. La page s'affiche mais la grille est manquante (sauf qu'il y a une ligne fine où la grille devrait être et je ne vois aucune colonne ou donnée etc.)Telerik UI Radgrid Fortement typé GridTemplateColumn problème

J'utilise EF. Voici mon entité:

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; } 

} 

Mon fichier 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> 

Mon code derrière aspx.cs fichier

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; 
     } 

    } 
} 

Quand je lance ce que je reçois la page mais au lieu de la grille, je vois une fine ligne horizontale correspondant au thème de la grille mais je ne vois aucune colonne.

J'ai également mis un point d'arrêt sur cette ligne dans le fichier ASPX:

<ItemTemplate><%# Item.EventID %></ItemTemplate> 

Mais le point d'arrêt est jamais frappé.

Qu'est-ce que je fais mal? Apprécier ton aide. Nouveau sur WebFroms/Telerik.

Répondre

0

Vous n'avez pas besoin d'utiliser la syntaxe de liaison de modèle, le RadGrid le fait automatiquement avec des colonnes liées. Tout d'abord, assurez-vous que votre méthode select renvoie effectivement quelque chose, puis essayez ceci pour vos colonnes de la grille.

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