ОБСУЖДЕНИЕ

Работа с Datagrid

3 ответов 6,1 тыс.
AI-выжимка обсуждения скоро

Краткие тезисы обсуждения со ссылками на ключевые ответы появятся здесь.

Автор темы
Пишу в MS Visual Studio .NET 2003.
Подскажите, пожалуйста, как можно задавать ширину для каждой отдельной колонки в dataGrid, а не одну на все?
 
Можно через HeaderStyle указать.
 
Приведите пример, пожалуйста...
 
Пишу в MS Visual Studio .NET 2003.
Подскажите, пожалуйста, как можно задавать ширину для каждой отдельной колонки в dataGrid, а не одну на все?

Если еще актуально вот, например, как я динамически воссоздавал в .NET 1.1 DataGrid:

[codebox]
// создается TableStyle для DataGrid
DataGridTableStyle ts = new DataGridTableStyle();
...
...
foreach (DataGridColumnStyle cs in sourceTs.GridColumnStyles)
{
...
...
// Здесь создаешь тот тип колонки, который тебе нужен (у меня был самописный тип NotEditableDataGridColumn)
DataGridTextBoxColumn newCs = new NotEditableDataGridColumn();
newCs.HeaderText = cs.HeaderText;
newCs.MappingName = cs.MappingName;
newCs.Alignment = cs.Alignment;
////////////// вот то, что тебе нужно ///////////
newCs.Width = cs.Width;
ts.GridColumnStyles.Add(newCs);
...
}
....

// здесь присваиваем DataGrid-у созданные стили
m_dg.TableStyles.Clear();
m_dg.TableStyles.Add(ts);
[/codebox]

или это все, по-моему, можно сделать в дизайнере