2010-11-22 18 views
1

J'ai une grille de téléservice avec une case à cocher. J'utilise un modèle de client. Il y a un appel .DataBinding Ajax attaché.Grille Telerik avec case à cocher - Case à cocher n'apparaissant pas lorsque le réseau commence à peindre

Lorsque la grille s'affiche initialement, au lieu d'une case à cocher, elle a la valeur d'id comme texte. Si j'appuie sur refresh, l'appel ajax est exécuté et quand il revient, la case à cocher apparaît. Est-il possible de forcer l'appel ajax à se produire lorsque la grille peint d'abord pour que j'ai une case à cocher et non du texte ...

Exemple de code:

<% Html.Telerik().Grid(Model.AdminSongQueue) 
    .Name("Grid") 
    .Columns(columns => 
     { 
      columns.Bound(o => o.UserTrackAssignmentID) 
       .ClientTemplate("<input type='checkbox' name='checkedRecords' value='<#= UserTrackAssignmentID #>' />") 
       .Title("Check") 
       .Width(50) 
       .HtmlAttributes(new {style="text-align:center"});   
     }) 
    .DataBinding(dataBinding => dataBinding.Ajax() 
      .Select("_CheckBoxesSongGrid", "RightsToolSvc")) 
    .Scrollable() 
    .Pageable() 
    .Render(); 
%> 

Répondre

1

Oui, cela est possible: Vous venez doivent appeler le constructeur vide de la classe grille comme celui-ci et la grille se fixe en appelant la ajax méthode de sélection pour la charge initiale des données aussi:

Html.Telerik().Grid<YourModelDataType>().Name("Grid")... 
1

à mon avis (viewname.cshtml, MVC) j'ai ajouté le suivant avant mon .ClientTemplate:

 .Template(
@<text> <input type='checkbox' id='chkMessage' name='checkedMovies' value='<#= ID #>' /> </text>) 

...

Ce poste est lié, je trouve ma réponse here