修复了gridview中的标题列宽度?

时间:2010-11-16 04:34:44

标签: c# asp.net vb.net

我想为网格视图设置标题列宽度。我试过了HeaderStyle-Width="30px"。但它取决于Item列。列宽根据项目值进行设置。但是我想要固定宽度,即使它有值或空。

alt text

2 个答案:

答案 0 :(得分:3)

你也可以给出Header样式宽度和ItemStyle Width.It也可以添加一个span并设置宽度。因此,项目宽度将保持一个值,无论它是空的还是包含任何值。我认为有点变化到gridview将使您实现问题的解决方案

<asp:TemplateField HeaderText="Category"  HeaderStyle-HorizontalAlign="Center"
                                    ItemStyle-HorizontalAlign="Center">
     <HeaderTemplate>
                                        <asp:LinkButton ID="lnkCategory" runat="server" ToolTip="Click here to sort by Category"
                                            CommandName="Sort" CommandArgument="Category" Text="Category" />
                                    </HeaderTemplate>
                                    <ItemTemplate>
                                       <span style="width:50px"> <%#Eval("Category")%> </span>
                                    </ItemTemplate>
                                    <HeaderStyle HorizontalAlign="Left" Width="50px" ></HeaderStyle>
                                    <ItemStyle HorizontalAlign="Left" Width="50px"></ItemStyle>
                                </asp:TemplateField>

Nottable Changes is

<ItemTemplate>
     <span style="width:50px"> <%#Eval("Category")%> </span>
   </ItemTemplate>
  <HeaderStyle HorizontalAlign="Left" Width="50px" ></HeaderStyle>
   <ItemStyle HorizontalAlign="Left" Width="50px"></ItemStyle>

答案 1 :(得分:1)

要使列固定长度只需添加 HeaderStyle-Width =“100px”或您想要的任何宽度,或者您也可以将其包含在css文件中并应用它以免造成太多改变..

<asp:GridView ID="grdvwnsaids" runat="server" AutoGenerateColumns="False"
                            Width="80%">
                            <Columns>
                                <asp:BoundField HeaderText="Product Name" HeaderStyle-Width="120px" ControlStyle-Font-Bold="true"
                                    ControlStyle-CssClass="MyText" `enter code here`DataField="BrandName">
                                    <ControlStyle CssClass="MyText" Font-Bold="True"></ControlStyle>
                                </asp:BoundField>
                                <asp:BoundField HeaderText="Type" ControlStyle-Font-Bold="true" HeaderStyle-Width="80px"
                                    ControlStyle-CssClass="MyText" DataField="Type">
                                    <ControlStyle CssClass="MyText" Font-Bold="True"></ControlStyle>
                                </asp:BoundField>
                                <asp:BoundField HeaderText="Composition" ControlStyle-Width="280px" ControlStyle-Font-Bold="true"
                                    ControlStyle-CssClass="MyText" DataField="Compositions">
                                    <ControlStyle CssClass="MyText" Font-Bold="True"></ControlStyle>
                                </asp:BoundField>
                                <asp:BoundField HeaderText="Packing" HeaderStyle-Width="100px" ControlStyle-Font-Bold="true"
                                    ControlStyle-CssClass="MyText" DataField="Packings">
                                    <ControlStyle CssClass="MyText" Font-Bold="True"></ControlStyle>
                                </asp:BoundField>
                            </Columns>
                        </asp:GridView>