2012-05-16 1 views
2

En fait, dites problème à ce que peut-être faux. J'ai 2 pages. Je peux obtenir la chaîne de requête à la deuxième page de la première page. Et cette chaîne de requête est ma partie critique de la requête. Lorsque le mode débogage, je peux voir le résultat de la requête et ils seraient ce que je veux. mais il ne peut pas être montré sur mon gridview. Voici mon bloc de code: ma page ListeClient,Un problème pour la liaison de données à datagridview

public partial class CustomerList : System.Web.UI.Page 
    { 
     CustomerBusiness m_CustomerBusiness = new CustomerBusiness(); 
     COMPANY m_Company = new COMPANY(); 

    protected void Page_Load(object sender, EventArgs e) 
      { 
       if (!Page.IsPostBack) 
       { 
        BindCustomers(); 
       } 
      } 

     private void BindCustomers() 
       { 
        string CompanyName = Request.QueryString.Get("CompanyName"); 

        LabelCompanyName.Text = CompanyName; 
        List<CUSTOMER> CustomerListt = m_CustomerBusiness.SelectByFirmName(CompanyName); 
        GridViewCustomerList.DataSource = CustomerListt; 
        GridViewCustomerList.DataBind(); 
       } 
} 

GridViewCustomerList: travailler

<asp:GridView ID="GridViewCustomerList" runat="server" 
      AutoGenerateColumns="False" BackColor="White" BorderColor="#999999" 
      BorderStyle="None" BorderWidth="1px" CellPadding="3" GridLines="Vertical" 
      ondatabinding="GridViewCustomerList_DataBinding" 
      onselectedindexchanged="GridViewCustomerList_SelectedIndexChanged" 
      Width="239px"> 
      <AlternatingRowStyle BackColor="#DCDCDC" /> 
      <FooterStyle BackColor="#CCCCCC" ForeColor="Black" /> 
      <HeaderStyle BackColor="#000084" Font-Bold="True" ForeColor="White" /> 
      <PagerStyle BackColor="#999999" ForeColor="Black" HorizontalAlign="Center" /> 
      <RowStyle BackColor="#EEEEEE" ForeColor="Black" /> 
      <SelectedRowStyle BackColor="#008A8C" Font-Bold="True" ForeColor="White" /> 
      <SortedAscendingCellStyle BackColor="#F1F1F1" /> 
      <SortedAscendingHeaderStyle BackColor="#0000A9" /> 
      <SortedDescendingCellStyle BackColor="#CAC9C9" /> 
      <SortedDescendingHeaderStyle BackColor="#000065" /> 
     </asp:GridView> 

ListeClient est aussi ce que je veux, mais ma part bind pas, je ne peux pas voir le GridViewCustomerList quand je exécuter le projet. Je recherche quelque chose asp.net modèle de cycle de vie de la page, la solution cible peut-être liée à cela.

+0

Pouvez-vous montrer le balisage pour votre 'GridView'? – jadarnel27

+0

Si je pouvais voir cela, je le montrerais .. Bu Comme je l'ai dit, je pouvais voir le résultat de la requête en mode débogage. – yiddow

+0

Désolé, je fais référence au balisage de 'GridViewCustomerList', tel qu'il apparaît sur votre page ASPX (dans Visual Studio). Veuillez ajouter * that * à votre question. – jadarnel27

Répondre

3

Le problème ici est que vous n'avez aucune déclaration explicite <Column> dans votre balisage, et vous avez AutoGenerateColumns property mis à "faux". Ainsi, même si les données sont liées à votre contrôle GridView, il ne sait pas quoi afficher (donc il n'affiche rien)

La solution la plus simple ici est de supprimer AutoGenerateColumns="False" de votre déclaration GridView (c'est "vrai" par défaut), et vous devriez être bon d'aller. Il crée automatiquement vos colonnes en fonction de votre DataSource.

Alternativement, vous pouvez spécifier les colonnes que vous voulez en ajoutant une section de colonnes à votre GridView.

<columns> 
     <asp:boundfield datafield="columnOne" headertext="Column 1"/> 
     <asp:boundfield datafield="columnTwo" headertext="Column 2"/> 
     <asp:boundfield datafield="columnThree" headertext="Column 3"/> 
    </columns> 
</asp:GridView> 
+1

merci beaucoup @ jadarnel27. encore je ne peux pas croire que la solution du problème change seulement 'faux' =) – yiddow

+0

@yiddow Parfois c'est juste si facile =) – jadarnel27

Questions connexes