ASP.NET GridViewのDataBound列の幅を設定する

私はBoundFieldを列に使うGridViewを持っています。私は UserInfo の列にmaxwidthを設定しようとしています。

私は多くの方法を試しましたが、そのうちのどれもうまくいきません。以下は私の GridView のコードです:




                

                

                

                

私の UserInfo の列である特定の列の幅を設定する方法に関する提案を探しています。

12
CSSのプロパティで "width:auto"を指定すると自動的に列が展開されます
追加された 著者 user2031620,

6 答え

私はあなたのために小さなデモをしました。長いテキストを表示する方法を示します。

この例では、非常に長いテキストを含む可能性がある列Nameがあります。 boundField は表のセルにすべてのコンテンツを表示するため、セルは必要に応じて展開されます(コンテンツのため)

TemplateField もセルとしてレンダリングされますが、 div 例えば40px。だから、この列にはある種の最大幅があります!

    
        
            
            
                
            
            
                
                    <div style="width: 40px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis">
                        <%# Eval("Name") %>
                    </div>
                
            
        
    

enter image description here

ここに私のデモコードがあります。

 public partial class gridViewLongText : System.Web.UI.Page
 {
     protected void Page_Load(object sender, EventArgs e)
     {
         #region init and bind data
         List list = new List();
         list.Add(new Person(1, "Sam"));
         list.Add(new Person(2, "Max"));
         list.Add(new Person(3, "Dave"));
         list.Add(new Person(4, "TabularasaVeryLongName"));
         gvPersons.DataSource = list;
         gvPersons.DataBind();
         #endregion
     }
 }

 public class Person
 {
     public int ID { get; set; }
     public string Name { get; set; }

     public Person(int _ID, string _Name)
     {
         ID = _ID;
         Name = _Name;
     }
 }
22
追加された

バインドされたフィールドにHeaderStyleを追加します。

    

                


6
追加された
ありがとうございますが、うまくいかないようです。入力が長いため、私の列はまだ縦に伸びています
追加された 著者 gymcode,
は動作しません
追加された 著者 gymcode,
これは私が探していたものです、ありがとう!
追加された 著者 mbomb007,

幅は以下のように特定の列に設定することができます: パーセンテージ:


または

ピクセル単位:


3
追加された
パーセンテージはどこから値を取得しますか?からの価値の割合?
追加された 著者 gymcode,
両方に対しては機能しません
追加された 著者 gymcode,
あなたは動的に幅を設定する必要がありますか?御時間ありがとうございます。
追加された 著者 Elias Hossain,

これは、幅で作業している間、すべての状況で機能します。

`
   
   
   
  `
1
追加された

hey recently i figured it out how to set width if your gridview databound with sql dataset.first set these control RowStyle-Wrap="false" HeaderStyle-Wrap="false" and then you can set the column width as much as you like. ex : ItemStyle-Width="150px" HeaderStyle-Width="150px"

1
追加された



                
   

0
追加された
それは私のために働いた..
追加された 著者 Samih A,
@ RUHAHAO:申し訳ありません..それは私のためにうまく動作します
追加された 著者 Karthik,
それは私のためにも機能しません。私はAutoGenerateColumnsをfalseに設定します。
追加された 著者 Marcel,
それは私のためには動作しません
追加された 著者 gymcode,