2011-11-21 15 views
4

我正在研究DataGridView,并想知道是否有一个属性会在内容需要时自动增大单元格大小。如何设置行的高度来自动调整大小,以便内容适合

到目前为止,我有,在DataGridViewBindingComplete处理程序结束:

dataGridView1.AutoResizeRows(DataGridViewAutoSizeRowsMode.AllCells); 

但不幸的是,没有这样的伎俩。

这里是我试过到目前为止:

public partial class Form1 : Form 
{ 
    private void dgv1BindingComplete(object sender, DataGridViewBindingCompleteEventArgs e) 
    { 
     dataGridView1.AutoResizeRows(DataGridViewAutoSizeRowsMode.AllCells); 
    } 

    public Form1() 
    { 
     InitializeComponent(); 

     // [...] set up datasource: orders 

     dataGridView1.AutoGenerateColumns = false; 
     dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells; 
     dataGridView1.DataSource = orders; 

     DataGridViewTextBoxColumn idCol = new DataGridViewTextBoxColumn(); 
     idCol.DataPropertyName = "id"; 
     idCol.AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCellsExceptHeader; 
     idCol.HeaderText = "#"; 
     idCol.DisplayIndex = 0; 

     DataGridViewTextBoxColumn placedCol = new DataGridViewTextBoxColumn(); 
     placedCol.DataPropertyName = "placed"; 
     placedCol.AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCellsExceptHeader; 
     placedCol.HeaderText = "Time Placed"; 
     placedCol.DisplayIndex = 1; 

     // [...] more of these columns 

     dataGridView1.Columns.Add(idCol); 
     dataGridView1.Columns.Add(placedCol); 
     // [...] adding the rest of the columns 

     dataGridView1.DataBindingComplete += dgv1BindingComplete; 
    } 
} 

结果如下:

Orders description is on one line. Image cell is not enlarged.

回答

2

设置属性AutoSizeColumnMode的datagridviewALLCELLS并检查它。

+0

我试过了,但由于某些原因,细胞仍然没有包裹或调整它们的高度。 – lowerkey

+0

你能否再贴一些代码... – Priyank

+0

不得不重新开始,因为我将设计师导入死胡同。当我再次遇到问题时会发布代码,这应该很快。 – lowerkey

0
datagridview1.RowsDefaultCellStyle.WrapMode = DataGridViewTriState.True 
datagridview1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCellsExceptHeaders 
相关问题