2016-03-01 36 views
0

我在学习上DataGridView伸行,以填补整个高度的DataGridView C#的winform

一点我有一个DataGridView,我填了一些列从DataSource

行后,我想输出一个位图,因为它,我想,我的行和列填满整个可用空间

的柱子,我只是用(正常工作)

foreach (DataGridViewColumn col in DG_dataGridView.Columns) 
{ 
    col.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill; 
} 

我的问题我没能够做同样的行

这是我的代码

//columns stretching 
foreach (DataGridViewColumn col in DG_dataGridView.Columns) 
{ 
    col.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill; 
} 

var printSet = printDocument1.DefaultPageSettings; 
DG_dataGridView.Height = printSet.Bounds.Height; 

int headerHeight = DG_dataGridView.ColumnHeadersHeight; 
int height = DG_dataGridView.Size.Height - headerHeight; 
int rowHeight = height/DG_dataGridView.RowCount; // -1; 

//rows stretching 
for (int i = 0; i < DG_dataGridView.Rows.Count; i++) 
{ 
    DG_dataGridView.Rows[i].Height = rowHeight; 
} 

Bitmap bm = new Bitmap(DG_dataGridView.Width, DG_dataGridView.Height); 

DG_dataGridView.DrawToBitmap(bm, new Rectangle(0, 0, DG_dataGridView.Width, DG_dataGridView.Height)); 

bm.Save(System.IO.Directory.GetCurrentDirectory() + @"\latestBitTable.bmp"); 

回答

1

我相信这可能是由AutoSizeRowsMode财产造成的。例如,当它设置为AllCells时,行将自动重新调整大小以适应单元格内容(无论您如何定义或设置代码)。

也许将其设置为None可能会解决您的问题。

dataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.None; 

编程您想要的行为时,下列文件可能是你有帮助:Sizing Options in the Windows Forms DataGridView Control

+0

编辑我的代码,而现在它的作品! :) – LordTitiKaka

相关问题