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



我正在使用

<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宽度设置为40像素,但我希望它的大小是动态的,以容纳需要超过40像素空间的数据。我怎样才能做到这一点?

不设置ControlStyle Width="40px",只设置css类如下:

ControlStyle-CssClass="template"

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

.template{
            min-width: 40px;
        } 

最新更新