8

asp.net グリッド ビューが 1 つあります。この行と列は、データベースから取得した値に基づいて動的に生成されます。.aspx ページでは、グリッドを使用します <asp:GridView Height="250" Width="100%" runat="server" />

行数が多い場合、グリッドは以下のように表示されます。 ここに画像の説明を入力

行グリッドが 1 つしかない場合、以下のように表示されます。 ここに画像の説明を入力

しかし、単一の行がある場合でも、最初の画像と同じグリッド行の高さを表示したいです。グリッド行の高さの値を固定として設定する方法。このような同様の質問がstackoverflowで見つかりました。しかし、それらは私に解決策を与えませんでした。

4

5 に答える 5

6

GridView.RowStyle Property行スタイルの定義に使用できます

GridView.RowStyle プロパティ: GridView コントロールのデータ行の外観を設定できるようにする TableItemStyle オブジェクトへの参照を取得します。

例えば。

<asp:GridView ID="GridView1">
        <rowstyle Height="20px" />
        <alternatingrowstyle  Height="20px"/>
</asp:GridView>
于 2012-12-07T11:39:50.533 に答える
2

CSS : /グリッド/

.MoGrid { width: 100%; background-color: #fff; margin: 5px 0 10px 0;}

.MoGrid td { color: #F05117;font-family: georgia;font-weight: bold;padding: 30px 2px 2px;}

.MoGrid th {border-bottom: 1px solid #F05117;border-top: 1px solid #F05117;color: #29B6EA;
    font-size: 13px;font-weight: bold;padding: 4px 2px;font-family: georgia;}

.MoGrid .alt { background: #fcfcfc url(../Styles/images/grd_alt.png) repeat-x top; }

.MoGrid .pgrM {background: #29B6EA; height:10px; }

.MoGrid .pgrM table { margin: 5px 0; }

.MoGrid .pgrM td { border-width: 0; padding: 0 6px; border-left: solid 1px #666; font-weight: bold; color: #fff; line-height: 12px; float:left; }  

.MoGrid .pgrM a { color: #666; text-decoration: none; }

.MoGrid .pgrM a:hover { font-family: tahoma;font-size: 12px;background-color: #99BBE1; }

ソース :

<asp:GridView ID="GridView2" runat="server" CssClass="MoGrid"       
PagerStyle-CssClass="pgrM" AlternatingRowStyle-CssClass="alt">
于 2012-12-07T11:50:34.967 に答える
2

少しトリッキーですが、私のために働きます。グリッドビュー自体の高さ (px 単位) を指定することで、グリッドビューを固定の高さにすることができます。ここで、行を適切な高さまで縮小するには (空白を埋めるために拡張するのではなく)、フッター スタイルの高さを 100% に設定します。これにより、表示されるレコードの数がページング サイズよりも少ない場合でも、フッターがたるみを取り、データ行が元の「展開されていない」状態のままになります。

初め:

showfooter="true" 

グリッドで。

そしてフッタースタイルで:

  <footerstyle Height="100%" />
于 2012-12-07T11:50:52.503 に答える
1

このコード onPage_PreRender で gridview の RowStyle-Height="20" プロパティを使用できます

例えば

if(grdView.Rows.Count>0)
grdView.Height = new Unit(grdView.RowStyle.Height.Value * grdView.Rows.Count);

またはremove Height property from gridView

于 2012-12-07T11:41:54.887 に答える