2016-08-18 7 views
0

DataGridViewのAutoResizeに少し問題があります。イムは、このようにそれをやって :それは新しいTabPagesし、それらのDataGridViewsが、この部分を追加していますタブページのDataGridView列の自動サイズ変更

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); 
} 

dataGridView.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells) 

AUTORESIZEそれらの残りのタブページ[0] =最初のページのみDataGridViewの、それは動作しません。

コードの問題を見つけるのに役立つ人がいますか?

仮定は次のとおりです。

それは各TabControlPage上のDataGridViewを自動サイズ変更する必要があります。それは助けにはならない謝罪ので、もしこの

+1

!選択されていないタブページは子供のレイアウトを妨げています。 – TaW

+0

もちろん私はそれを忘れてしまいます。それは今、多くのおかげで動作します!残念ながら私はこれを答えとして受け入れることはできません。 – Pro100

+0

私は答えとしてそれを書きました:-) – TaW

答えて

1

TabControl子どもたちが未選択のTabPagesの子供たちのレイアウトを嫌う厄介な習慣があります。

ですから、DataGridViewを充填し、そのAutoResizeColumnsプロパティを設定する前に各TabPageを選択する必要があります:のTabPageが自動サイズ変更の列をしようとする前に、すなわち目に見える選択されていることを確認

tabControl_Rozliczenie.TabPages.Add("Page " + list[i]); 
tabControl_Rozliczenie.SelectedTab = tabControl_Rozliczenie.TabPages["Page " + list[i]]; 
0

は、暗闇の中でだけでショットですが、問題は、あなたがしてコントロールリストへのDataGridViewとを追加AutoResizeColumnsオプションを変更していることだろうか?注文を変更しようとしましたか?

dataGridView.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells); 
tabControl_Rozl.TabPages[i].Controls.Add(dataGridView); 

+0

これはうまくいかず、これをもう一度試してみてください。 – Pro100

関連する問題