1

質問のタイトルが明確でなくて申し訳ありませんが、画像が私の問題を説明するのに役立つかもしれません:

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

親パネルの小さな子パネルを自動サイズ変更可能にしたい。ここに私のマークアップとコードビハインドがあります:

    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>
4

1 に答える 1

1

子パネルの配置で中央領域を完全に埋めたい場合は、領域の内側の寸法を計算し、現在のように固定の高さ/幅を子パネルに割り当てる以外に簡単な方法はありません。しかし、あなたの測定に基づいています。これは、イベントを処理するか、中央の領域パネルrenderをオーバーライドすることで実行できます。onRender

行と列の数が常に同じである場合は、% ディメンションを使用できますが、私の経験では、ブラウザ間で一貫して機能しません (小数点以下のパーセンテージからピクセルへの丸めにより、小さなギャップが生じることがあります)。

于 2010-06-04T15:12:35.967 に答える