2012-06-27 5 views
0

Je travaille sur une simple grille dans ASP.NET en utilisant jTable (www.jTable.org). C'est une page avec une liste de 'Résidents', où il y a un champ appelé 'FacilityFrom' rempli à partir d'une table FACILITY dans la base de données. Sur la jTable 'Residents', j'ai un champ qui utilise l'attribut 'options' et qui extrait de la table SQL 'Facility'. Je veux juste une liste déroulante où la première valeur par défaut & est '(NONE)' quand vous allez ajouter un nouvel enregistrement.valeur par défaut dans jTable pour les options 'déroulant?

Je ne magie MSSQL et la création d'un enregistrement représentant une valeur par défaut (son champ dans la base de données est littéralement «(NONE). Ensuite, lors du remplissage de la chute vers le bas que je fais

select FacilityID,Name from FACILITY where Name = '(NONE)' 
UNION 
select FacilityID,Name from FACILITY where Name <> '(NONE)' 

Je me rends compte qu'il est laid (J'ai mis la contrainte unique nécessaire pour le rendre étanche), mais la requête fonctionne comme prévu et met l'option '(NONE)' en haut, mais pour une raison quelconque, le jTable fait de la magie de tri seul et Même si je mets un point d'arrêt dans le WebMethod appelé GetFacilityOptions - il est clair que le résultat est ce que je veux qu'il soit - (NONE) est toujours à l'index 0 dans la liste .. Je t semble que quelque chose dans la liaison jquery fait le changement?

Quoi qu'il en soit, j'ai trouvé l'attribut defaultValue dans la documentation de jTable et j'ai pensé que cela résoudrait mon problème, mais cela n'a toujours pas d'effet? Le code HTML est ci-dessous:

       FacilityFromID: { 
          title: 'Facility', 
          options: '/Residents.aspx/GetFacilityOptions', 
          defaultValue: '(NONE)' 
         }, 

Le code-behind est:

 [WebMethod(EnableSession = true)] 
     public static object GetFacilityOptions() 
     { 
      try 
      { 
       var facilities = BusinessObjects.DataAcesss.GetAllFacilities().Select(c => new { DisplayText = c.Name, Value = c.FacilityID }); 
       //BREAKPOINT SAYS '(NONE)' IS AT INDEX 0 HERE!! 
       return new { Result = "OK", Options = facilities }; 
      } 
      catch (Exception ex) 
      { 
       return new { Result = "ERROR", Message = ex.Message }; 
      } 
     } 

Quelqu'un a des idées/suggestions? Merci beaucoup!

Répondre

1
, min_id: { 
title: field name, 
    options: the options function, 
defaultValue: $('#<% = ddlMin.ClientID %>').val() // where ddlMin.ClientID the value required 
} 
Questions connexes