2013-01-11 23 views
0

我有一个DataGrid创建像这样: -如何抑制DataGrid中的虚假换行符?

<asp:DataGrid id="myGrid" 
       BorderWidth="1" 
       CellPadding="3" 
       AutoGenerateColumns="true" 
       runat="server" 
       OnSelectedIndexChanged="myGridSelectedCallback"> 
    <HeaderStyle CssClass="subHeader"></HeaderStyle > 
    <Columns> 
     <asp:ButtonColumn HeaderText="" 
          ButtonType="LinkButton" 
          Text="Display" 
          CommandName="Select"> 
     </asp:ButtonColumn> 
    </Columns> 
</asp:DataGrid> 

和列添加到它在像这样的代码隐藏: -

DataTable dt = new DataTable(); 
dt.Columns.Add(new DataColumn("MyCol", typeof(string))); 

,但是当我添加命令行来,有时候在文本该列将换行到另一行。这似乎没有任何理由;该列的MaxLength为-1,并且在添加的字符串中没有换行符或其他控制字符。

我想要发生的是为了容纳最长的字符串(字符串只有20个字符左右)而加宽列。由于其他人似乎有相反的问题,我无法找到任何相关信息。

(此网格包含一个div内,但div没有最大宽度。)

回答

1

尝试使用HeaderStyle-Wrap="False"

<asp:DataGrid id="DataGrid1" runat="server"> 
    <Columns> 
     <asp:BoundColumn HeaderStyle-Wrap="False"></asp:BoundColumn> 
     <asp:TemplateColumn HeaderStyle-Wrap="False"></asp:TemplateColumn> 
    </Columns> 
</asp:DataGrid> 

此外,您还可以检查此:DataGrid Web Server control wraps when the ItemStyle Wrap property or the HeaderStyle Wrap property is set to false in Visual Basic .NET

+0

感谢小费。把这个强制一个水平滚动条出现,显示'div'的宽度和包装的原因是受到限制的,它的宽度受到......呃...... fsck知道什么的限制。但那是另一个问题。 –