2011-12-30 6 views
5

私はGridviewのユーザーコントロールを持っていましたGridviewが編集モードかどうかにかかわらず、グレーのフレーム(そのdivタグ)にGridviewの幅とスタイルを使用しましたが、動作しませんでした。 どうすればよいですか?どのようにGridviewのサイズの制御を取るには、その編集モードではないと?

.GridViewStyle 
{ 
/*It didn't work*/ 
width:50%; 
} 

GridViewのときに編集モードで Gridview Which is in edit mode

それが編集モードで表示されているいくつかのコントロールを思わそのない編集モードで Gridview Which is not in edit mode

答えて

14

問題は確かに<input />テキストボックスのサイズである今、あなたは、制御することができますCSSを使用したテキストボックスのサイズ

.GridViewEditRow input[type=text] {width:50px;} /* size textboxes */ 
.GridViewEditRow select {width:50px;} /* size drop down lists */ 
+0

感謝!!良い仕事! – Lester

1

GridViewの(テキストボックス入力は主に)一定の幅を持ち、entワイヤーグリッドが広すぎます。あなたのブラウザは、テーブルの幅(グリッドビューのレンダリング)を設定するのに最善を尽くしますが、コンテンツが広すぎる場合は、必要以上に幅を広げなければなりません。

Firebug(Firefoxを使用している場合)、Developer Tools(Internet Explorer)、...それらの幅が設定されているかどうかを確認してください。編集モードで

が編集行に

<asp:GridView ID="GridView1" runat="server"> 
    ... 
    <EditRowStyle CssClass="GridViewEditRow" /> <%-- add this --%> 
</asp:GridView> 

をCSSクラスを与えるためにあなたのGridViewに<EditRowStyle>要素を追加したときに

1

編集モードのときにグリッドを管理するには、divのxamlコードにスクロールバーを追加してください。編集モードが呼び出されると、スクロールバーに調整されます。 divを定義し、その中にグリッドを配置します。 コードの作成方法は次のとおりです。

<div style="width:100px; height:100px; overflow:scroll;"> 
<asp:GridView ID="GridView1" runat="server"> 
</asp:GridView> 
</div> 
1
<asp:BoundField HeaderText="Title" ControlStyle-Width="100px" DataField="Title" /> 

使用ControlStyle-width属性と列に幅を割り当てる

0

次作品:

<asp:TemplateField HeaderText="Salary" ControlStyle-CssClass="cssWidth"></asp:TemplateField> 

<style type="text/css"> 
    .cssWidth { 
     width : 150px; 
    }  
</style> 
関連する問題