2010-09-20 61 views
1

使用的DataColumn的宽度以编程方式分配一个列到数据表是这样的:编程方式设置有一个DataGrid

myDataTable.Columns.Add(myDataColumn); 

有没有以编程方式设置列的宽度/尺寸的方法吗?我在vs2010中用C#使用WPF。

+1

Umm..a的DataColumn没有宽度。你的意思是它在网页上显示的方式......就像一个网格? – Scott 2010-09-20 19:32:20

+0

@Scott我希望列在显示时更窄。 – 0x4f3759df 2010-09-20 19:38:32

回答

7
ColumnDefinition col1 = new ColumnDefinition(); 
col1.Width = GridLength.Auto; 
ColumnDefinition col2 = new ColumnDefinition(); 
col2.Width = new GridLength(1,GridUnitType.Star); 

grid.ColumnDefinitions.Add(col1); 
grid.ColumnDefinitions.Add(col2); 

顶部件会自动调整大小的列,底部可以自定义大小。看看这个网站详细 -

+0

Patrick谈论DataGrid,而不是网格布局!你在这里提供的是关于网格布局。 – 2016-11-24 16:46:16

2

这种调整大小N-1列到“自动”和N列来“填充”

foreach (var column in dataGrid.Columns) 
    column.Width = DataGridLength.Auto; 
dataGrid.Columns.Last().Width = DataGridLength.SizeToCells; 
+1

+1但是,您应该养成将** foreach **的主体放在{}中的习惯 – MickyD 2014-03-06 07:54:25