2011-04-12 105 views
0

我在我的视图中有一个Telerik网格。我想知道是否有通过我可以绑定选定一行到模型属性的Datakey方式 -Telerik MVC 3网格选定的行绑定到模型属性

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site1.Master" Inherits="System.Web.Mvc.ViewPage<Mitek.MobileImagingTest3.Models.JobFileStatisticsModel>" %> 

<%使用(Html.BeginForm()){%>

  <div class="editor-label">  
       <br />       
       <label>Select Which Job:</label> 
      </div> 
      <div> 
       <%= Html.Telerik().Grid((IEnumerable<Mitek.MobileImagingTest3.Models.JobFileStatisticsModel>)ViewData["JobFilesDataList"]) 
         .Name("JobFileGrid") 
         .EnableCustomBinding(true) 
         //.BindTo((IEnumerable<Mitek.MobileImagingTest3.Models.JobFileStatisticsModel>)ViewData["JobFilesDataList"]) 
         .DataKeys(keys => keys.Add(o => o.JobFileId))      
         .Columns(columns => 
         { 
          columns.Bound(o => o.JobFileId).Hidden(true); 
          columns.Bound(o => o.JobFileName).Title("Job File Name").Width(500); 
          columns.Bound(o => o.JobFileVersion).Title("Job File Version").Width(200); 
          columns.Bound(o => o.JobFileDateCreated).Title("Date Created").Format("{0:MM/dd/yyyy}").Width(300); 
         })        
         .HtmlAttributes(new { style = "width: 1000px; font-family:arial; font-size: .9em;" })       
         .ClientEvents(events => events.OnRowSelected("onRowSelected")) 
         .DataBinding(dataBinding => dataBinding.Ajax().Select("SelectJobFile", "Admin"))       
         .Pageable() 
         .Sortable() 
         .Selectable() 
         .RowAction(row => 
         { 
          row.Selected = row.DataItem.JobFileId.Equals(ViewData["JobFileId"]); 
          //Model.JobFileId = ViewData["JobFileId"].ToString(); 
         })       
       %> 
       </div> 
       <div> 

       </div> 
       <div> 
        <br /> 
        <button type= "submit" name="button" class="t-button" >Run Report</button> 

       </div> 

    </div> 

    <% } %> 



enter code here 


    <script type="text/javascript"> 

     function onRowSelected(e) { 
      var id = e.row.cells[0].innerHTML;    
      alert(id); 
     } 

    </script> 

我的模型是 -

public class JobFileStatisticsModel 
{ 
    public string JobFileId { get; set; } 

    public string JobFileName { get; set; } 

    public string JobFileVersion { get; set; } 

    public string JobFileDateCreated { get; set; } 
} 

如何将网格中选定行的DataKey绑定到Model.JobFileId属性? 请帮忙。

感谢, SDD

回答

1

变化<Mitek.MobileImagingTest3.Models.JobFileStatisticsModel><IEnumerable<Mitek.MobileImagingTest3.Models.JobFileStatisticsModel>>

而且这条线替换

<%= Html.Telerik().Grid((IEnumerable<Mitek.MobileImagingTest3.Models.JobFileStatisticsModel>)ViewData["JobFilesDataList"]) 


<%= Html.Telerik().Grid<Mitek.MobileImagingTest3.Models.JobFileStatisticsModel>(Model)

如果您更换这两个它应该解决您的问题。这是我目前正在做的,所以我认为它会起作用。如果它不只是给我留言,我会看到我还能想出什么。

相关问题