我在DataGridView上遇到了一些AutoResize问题。 我这样做:
for (int i = 0; i < list.Count; i++)
{
tabControl_Rozliczenie.TabPages.Add("Page " + list[i]);
var dataGridView = new DataGridView()
{
Name = "dataGridView_" + list[i],
Dock = DockStyle.Fill
};
dataGridView.CellValueChanged +=
new DataGridViewCellEventHandler(dataGridView_ety_CellValueChanged);
dataGridView.CellFormatting +=
new DataGridViewCellFormattingEventHandler(dataGridView_ety_CellFormatting);
dataGridView.DataSource = dataTable;
tabControl_Rozl.TabPages[i].Controls.Add(dataGridView);
dataGridView.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells);
dgwList.Add(dataGridView);
}
它正在添加新的TabPages和DataGridViews,但这一部分:
dataGridView.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells)
在tabPage [0] =第一页上仅AutoResize DataGridView,其余部分不起作用。
有人可以帮我找到代码问题吗?
假设是:
每个TabControlPage都必须AutoResize DataGridView。
答案 0 :(得分:1)
TabControl
有一种令人讨厌的习惯,即阻止未选中的 TabPages
的孩子进行布局。
因此,在填写TabPage
并设置其DataGridView
属性之前,您需要选择每个AutoResizeColumns
:
tabControl_Rozliczenie.TabPages.Add("Page " + list[i]);
tabControl_Rozliczenie.SelectedTab = tabControl_Rozliczenie.TabPages["Page " + list[i]];
答案 1 :(得分:0)
这只是一个黑暗的镜头,所以道歉,如果它没有帮助,但问题可能是你将dataGridView添加到控件列表和然后更改AutoResizeColumns选项?您是否尝试将订单更改为:
dataGridView.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells);
tabControl_Rozl.TabPages[i].Controls.Add(dataGridView);