将网格视图列的宽度设置为动态,而不会影响控件的最小宽度

时间:2014-05-02 07:34:47

标签: asp.net vb.net gridview templatefield

我正在使用

<asp:GridView ID="Grid1"  runat="server" AutoGenerateColumns="False"  BorderWidth="0px" BorderColor="white" BorderStyle="Solid">

<asp:TemplateField HeaderText="tf1" ControlStyle-Width="40px">  
<ItemTemplate>    
<asp:Label ID="lbl1" runat="server" Text='<%# String.Format("{0:###,###,###,##0}",Convert.ToInt64(DataBinder.Eval(Container.DataItem,"tf1"))) %>' />
<asp:TextBox id="txt1" runat="server" Text='<%# Eval("tf1") %>'  style="display:none;text-align:right;" MaxLength = "9"  />  
</ItemTemplate>                                         
</asp:TemplateField> 

</asp:GridView>

问题是尽管ConrolStyle-Width设置为40 px,我希望它的大小是动态的,以容纳需要超过40px空间的数据。我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:3)

而不是设置ControlStyle-Width =&#34; 40px&#34;只需像这样设置css类:

ControlStyle-CssClass="template"

然后根据需要设置字段样式。您可以添加min-width,这意味着所有字段的最小宽度都等于指定的内容,如果内容宽度大于字段宽度,则适合其内容。

.template{
            min-width: 40px;
        }