我有一个从远程数据库导入数据的gridview,这个工作正常。数据填充,我可以很容易地操纵它。列的间距似乎存在问题。它们没有为所有文本提供足够的空间以适合每个单元格的一行(列的宽度似乎停在某一点,对于每一列都不相同)。这也会在每个单元格中添加大量额外空间,但文本只占用一行。
当我点击编辑按钮时,所有自动调整大小都非常完美,文本在一个单元格中排成一行,没有强制换行符。一旦我点击取消'然后返回到标准网格视图显示(即“编辑未点击”),调整大小/空间问题。
这是我的代码:
<asp:SqlDataSource ID="coverAllDataSource" runat="server"
ConnectionString="Data Source=blah; Initial Catalog=blah; User Id=blah; Password=blah"
SelectCommand="SELECT * FROM blah"
/>
Search by -
<asp:DropDownList ID="ddlCoverAll" runat="server" Width="148px">
</asp:DropDownList>
<br /><br />
<div style="overflow:auto;max-width:650px; max-height: 400px; border: 1px solid black">
<asp:GridView ID="coverAllGV" DataSourceID="coverAllDataSource" runat="server"
BorderStyle="None" AllowSorting="True"
AutoGenerateEditButton="True" CellPadding="0" DataMember="DefaultView"
ShowFooter="True">
<AlternatingRowStyle BackColor="#FF9900" />
<EditRowStyle Wrap="False" />
</asp:GridView>
</div>
所以我不完全确定为什么会这样,我的理解是gridview会自动调整列宽以适应特定列的最大文本体,但这似乎不能正常工作。为了使事情更加混乱,有时自动调整大小会选择根据列标题设置其宽度,但有时它会根据其中包含最大文本量的单元格来设置其宽度。
这么简单的事情要坚持下去,唉我无法解决这个问题而且我花了太多时间试图(尝试在没有div或外部css文件操作的空页面上构建gridview,等等......这可能太简单了。
无论如何,如果有人可以在仪式方向上指导我,那将非常感激。
提前致谢!
答案 0 :(得分:2)
所有在一个单元格中排队,没有强制换行
如果您只想让文本停止换行,您可以使用一些CSS实现此目的。为GridView提供类似CssClass="gridview"
的类名,然后在样式表中添加CSS规则,如:
.gridview td { white-space : nowrap; }
这将告诉表不包装表格单元格中的任何文本。如果您仍然遇到问题,请尝试从包装div中删除max-width
或减小文字大小。
如果您希望能够设置每列的宽度,请手动将AutoGenerateColumns
设置为false
并添加具有指定宽度的列(您可以使用GUI或手动执行此操作aspx页面。)