2010-09-20 1 views
1

поручаю столбец программно в DataTable, как это:Programatically установить ширину DataColumn для использования с DataGrid

myDataTable.Columns.Add(myDataColumn); 

Есть ли способ программно задать ширину/размер столбца? Я использую WPF с C# в vs2010.

+1

Umm..a DataColumn не имеет ширину. вы имеете в виду способ отображения на странице ... как сетку? – Scott

+0

@Scott Я хочу, чтобы столбец был более узким, когда он отображается. – 0x4f3759df

ответ

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

Патрик говорит о DataGrid, а не о сетке! то, что вы указали здесь, - это компоновка сетки. –

2

Это изменение размера N-1 столбцов "Авто" и столбец N в "Fill"

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

+1 однако вы должны привыкнуть размещать тело ** foreach ** в {} – MickyD

Смежные вопросы