2010-05-12 14 views
0

J'ai une question concernant le GridView et le Control Designer.GridView: Control Designer

J'ai créé un contrôle composite hérité de GridView. Je voudrais créer de nouveaux contrôles BoundField créés dans le concepteur du contrôle GridView? Ainsi, je peux sélectionner le contrôle BoundField personnalisé dans la liste Champs disponibles.

Quelqu'un at-il une idée à ce sujet?

Répondre

0

Exemple d'un champ lié sur mesure

namespace CustomControls 
{ 
public class CompositeBoundField : BoundField 
{ 
    protected override object GetValue(Control controlContainer) 
    { 
     object item = DataBinder.GetDataItem(controlContainer); 
     return DataBinder.Eval(item, this.DataField); 
    } 
} 

public class CompositeCheckBoxField : CheckBoxField 
{ 


    protected override object GetValue(Control controlContainer) 
    { 
     /*bool isChecked = false; 
     if (this.DataField.ToLower() == "true") 
      isChecked = true; 

     object item = DataBinder.GetDataItem(controlContainer); 
     return isChecked; 
     */ 

     object item = DataBinder.GetDataItem(controlContainer); 
     return DataBinder.Eval(item, this.DataField); 
    } 
} 

}

Et ajouter à la configuration

<pages> 
     <controls> 

      <add assembly="App_Code" namespace="CustomControls" tagPrefix="cc"/> 
     </controls> 
    </pages> 

Ensuite, vous l'utilisez dans votre page ASP.NET. J'espère que cela t'aides.