2010-06-04 3 views
1

Désolé pour pas très clair titre de la question, mais peut-être l'image vous aidera à décrire mon ploblem:Créer panneau Autosizeble avec des panneaux à l'intérieur

image http://my.jetscreenshot.com/2951/20100604-ioyo-164kb.jpg

Je veux petits panneaux enfants dans le panneau parent pour être autosizeable. Voici mon balisage et codebehind:

protected void Page_Load(object sender, EventArgs e) 
     { 
      var bkg = new[] { "background-color: wheat;", "background-color: gray;", "background-color: #AAAAAA;" }; 
      var random = new Random(); 
      for (var i = 0; i < 285; i++) 
      { 
       var panel = new Panel 
           { 
            Header = false, 
            Width = 60, 
            Height = 30, 
            BodyStyle = bkg[random.Next(0, 3)], 
            Frame = false, 
            StyleSpec = "padding-top: 1px; padding-left: 1px;", 
            ID = "panel_" + i, 
            Html = string.Format("<span class='x-unselectable'>{0}</span>", i) 
           }; 
       var cell = new Cell(); 
       cell.Items.Add(panel); 
       TableLayout1.Cells.Add(cell); 
      } 

     } 

<ext:Panel ID="pnlWorkArea" runat="server" Title="Test"> 
    <Body> 
     <ext:TableLayout ID="TableLayout1" runat="server" Columns="15"> 
     </ext:TableLayout> 
    </Body> 
</ext:Panel> 

Répondre

1

Si vous voulez dire que vous voulez que l'arrangement de panneau enfant pour remplir complètement la zone centrale, il n'y a pas un moyen simple de faire autre que le calcul des dimensions intérieures de la région, puis assigner une hauteur/largeur fixe aux panneaux enfants comme vous l'êtes maintenant, mais en fonction de vos mesures. Vous pouvez le faire en gérant l'événement render ou en remplaçant onRender du panneau de la région du centre. Si le nombre de lignes et de colonnes est toujours le même, vous pouvez essayer d'utiliser% dimenstions, mais dans mon expérience, cela ne fonctionne pas de manière cohérente entre les navigateurs (vous pouvez obtenir des petits écarts parfois dus aux pourcentages décimaux).

+0

J'ai essayé%, mais cela ne fonctionne pas comme prévu. – Tror

Questions connexes