DataGrid列集合不是以编程方式或通过网格属性更新列宽

时间:2015-04-07 23:17:11

标签: asp.net vb.net visual-studio

全天搜索了vb.net web项目,3.5框架(VS 2008)的解决方案,它使用DataGrid(而不是gridview)为我的网格中的所有17列设置一致的宽度。网格溢出div区域,“Note”列特别宽,文本很少。对于这个特殊的列我已经尝试过允许包装和nowrap,但宽度永远不会改变。我已经在网格属性列集合中设置了列的宽度而没有任何更改。现在我以编程方式设置宽度,但效果最小。 Note列仍然很宽。

理想情况下,我希望修复列大小(不是自动增长或缩小),并且文本太大而不适合被剪切掉。我没有指定整体网格宽度。这就是电网行为不端的原因吗?

vb.net:

    DataGrid1.Columns(14).HeaderStyle.Width = Unit.Pixel(25) 'LightDuty
    DataGrid1.Columns(14).HeaderStyle.Wrap = True
    '
    DataGrid1.Columns(15).HeaderStyle.Width = Unit.Pixel(150) 'Note
    DataGrid1.Columns(15).HeaderStyle.Wrap = True

的CSS:

 #grid
  {
   float:left;
   width:100%;
   /*border: 1px solid blue;*/
   margin: 10px 10px 0px 10px;
   padding:10px 10px 1px 10px;
   text-align:center;
  }

aspx :(只是网格顶部的一部分)

    <div id="grid">      
            <asp:datagrid  id="DataGrid1" runat="server"
                 Font-Names="Tahoma" 
                 Font-Size="Small" 
                 ShowFooter="True" 
                 DataMember="vwSomeDataSetTable"
                AutoGenerateColumns="False" 
                AllowSorting="True" 
                PageSize="25"
                 OnPageIndexChanged="DataGrid1_Paging"   >

                <FooterStyle HorizontalAlign="Right"></FooterStyle>
                <SelectedItemStyle HorizontalAlign="Left" />
                <PagerStyle HorizontalAlign="Left" Mode="NumericPages" 
                    Position="TopAndBottom" />
                <AlternatingItemStyle BackColor="#EBF5FF"></AlternatingItemStyle>
                <headerStyle Font-Bold="True"  ></headerStyle>

                <Columns>

                    <asp:BoundColumn DataField="name" SortExpression="name" HeaderText="Employee">
                        <headerStyle HorizontalAlign="Center" Font-Bold="False" Font-Italic="False" 
                            Font-Overline="False" Font-Size="Small" Font-Strikeout="False" 
                            Font-Underline="False" Wrap="False"> </headerStyle>
                        <ItemStyle Wrap="False" Font-Bold="False" Font-Italic="False" 
                            Font-Overline="False" Font-Strikeout="False" Font-Underline="False" 
                            HorizontalAlign="Left"></ItemStyle>
                    </asp:BoundColumn>
<asp:BoundColumn DataField="LD" SortExpression="LD" 
                        HeaderText="LD">
                    <headerStyle HorizontalAlign="Center" Font-Bold="False" Font-Italic="False" 
                            Font-Overline="False" Font-Size="Small" Font-Strikeout="False" 
                            Font-Underline="False" Wrap="False" />
                    <ItemStyle Font-Names="Webdings" Wrap="false" HorizontalAlign="Left" 
                            Font-Bold="False" Font-Italic="False" Font-Overline="False" 
                            Font-Strikeout="False" Font-Underline="False"/>
                    </asp:BoundColumn>
                    <asp:BoundColumn DataField="Note" SortExpression="note" HeaderText="Note">
                        <headerStyle HorizontalAlign="Center" Font-Bold="False" 
                            Font-Italic="False" Font-Overline="False" Font-Strikeout="False" 
                            Font-Underline="False" Wrap="False"></headerStyle>
                        <ItemStyle Wrap="False" Font-Bold="False" Font-Italic="False" 
                            Font-Overline="False" Font-Strikeout="False" Font-Underline="False" 
                            HorizontalAlign="Left"></ItemStyle>
                    </asp:BoundColumn>

1 个答案:

答案 0 :(得分:0)

当我求助时,我自然会找到解决方案!

更新:我删除了我设置的每个地方都允许包装每个标题的每个标题样式和每个列的项目样式的网格列集合属性,因为我意识到有些被设置为换行,有些则没有,与我试图设置的内容产生不一致以编程方式,一旦我这样做,列开始缩小到更可用的大小。我还有一段路可走,但情况正在好转。