我在Win Form上有一个DataGrid,在我最初设置数据源时可以很好地显示。 AutoSizeColumnsMode是“DisplayCells”。当我在运行时更改数据源时,除非我重新排序列,否则行不会自动调整大小。 有谁知道如何解决这一问题?另请注意,DataGrid与调用更新的按钮位于不同的选项卡上。
我用来填充网格的唯一代码是:
dgUnPrinted.DataSource = TableName;
dgUnPrinted.Refresh();
答案 0 :(得分:0)
尝试http://www.codeproject.com/KB/miscctrl/AutoResizeDataGrid.aspx 要么 http://www.hanselman.com/blog/HowDoIAutomaticallySizeAutosizeColumnsInAWinFormsDataGrid.aspx
或使用DataGridView然后你可以使用gdv.Columns [0] .AutoSizeMode属性。
答案 1 :(得分:0)
您是否尝试过AutoResizeColumns
方法?
http://msdn.microsoft.com/en-us/library/ms158595%28v=VS.90%29.aspx
答案 2 :(得分:0)
经过一番思考后,我决定通过代码对列进行排序。这填补了所有细胞。我不确定为什么这是需要的,或者为什么当其他一切都不起作用时它起作用但至少我有一个修复。
dgUnPrinted.Sort(dgUnPrinted.Columns[0], ListSortDirection.Ascending);