c# dataGridview 的列如何按照内容进行调整大小

winform 程序用datagridview 显示数据,想按照内容进行调整。比如有数据姓名,住址,电话,一般情况住址会比较长,但是查询后显示的都是平均分配各行的,如何实现按照长度,例如上面的姓名窄些,住址宽些

更改datagridview的column的AutoSizeMode

成员名称 说明
AllCells 调整列宽,以适合该列中的所有单元格的内容,包括标题单元格。
AllCellsExceptHeader 调整列宽,以适合该列中的所有单元格的内容,不包括标题单元格。
ColumnHeader 调整列宽,以适合列标题单元格的内容。
DisplayedCells 调整列宽,以适合当前屏幕上显示的行的列中的所有单元格的内容,包括标题单元格。
DisplayedCellsExceptHeader 调整列宽,以适合当前屏幕上显示的行的列中的所有单元格的内容,不包括标题单元格。
Fill 调整列宽,使所有列的宽度正好填充控件的显示区域,只需要水平滚动保证列宽在 DataGridViewColumn.MinimumWidth 属性值以上。相对列宽由相对 DataGridViewColumn.FillWeight 属性值决定。
None 列宽不会自动调整。
NotSet 列的大小调整行为从 DataGridView.AutoSizeColumnsMode 属性继承。
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-01-06
将datagirdview的AutoSizeColumnsMode属性改为:DisplayedCellsExceptHeader 即可,会随着单元格内容的宽度自适应,不包括标题。
第2个回答  2009-01-07
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" AllowPaging="True"
PageSize="20" OnPageIndexChanging="GridView1_PageIndexChanging" OnRowDeleting="GridView1_RowDeleting">
<Columns>
<asp:BoundField DataField="Id" HeaderText="序号">
<HeaderStyle Width="5%" />
</asp:BoundField>
<asp:BoundField DataField="MobileNo" HeaderText="用户">
<HeaderStyle Width="10%" />
</asp:BoundField>
<asp:BoundField DataField="Content" HeaderText="建议内容">
<HeaderStyle Width="65%" />
</asp:BoundField>
<asp:BoundField DataField="DTime" HeaderText="留议时间">
<HeaderStyle Width="10%" />
</asp:BoundField>
<asp:CommandField HeaderText="删除" ShowDeleteButton="True">
<HeaderStyle Width="10%" />
</asp:CommandField>
</Columns>
</asp:GridView>
这个是我的一个案例 你可以试试改变一下吧
第3个回答  2009-01-07
设定不自动换行就行了
相似回答