Как можно сказать DataGrid'у, чтобы он ширину столбцов подгонял под ширину данных в них. Что-то я окромя PreferredColumnWidth ничего не нашел. Подскажите, плиз.
25.12.03 11:25: Перенесено модератором из '.NET' — AVK
Здравствуйте fog, Вы писали:
fog>Как можно сказать DataGrid'у, чтобы он ширину столбцов подгонял под ширину данных в них. Что-то я окромя PreferredColumnWidth ничего не нашел. Подскажите, плиз.
Вот примерный код.
DataGridTableStyle DemensionStyle = new DataGridTableStyle(); //Создается новый стиль таблицы
DemensionStyle.MappingName = "Имя базы данных";
DataGrid.TableStyles.Add(DemensionStyle); //Привязывается стиль к таблице
//описание столбцов
DataGridTextBoxColumn CodeCol = new DataGridTextBoxColumn();
CodeCol.MappingName = "Столбец в базе";
CodeCol.HeaderText = "Видимое название";
CodeCol.Width = Твоя ширина; //ВОТ ЗДЕСЬ СТАВИШЬ ЧТО ТЕБЕ НАДО
DemensionStyle.GridColumnStyles.Add(CodeCol);
ДД>CodeCol.HeaderText = "Видимое название"; ДД>CodeCol.Width = Твоя ширина; //ВОТ ЗДЕСЬ СТАВИШЬ ЧТО ТЕБЕ НАДО ДД>DemensionStyle.GridColumnStyles.Add(CodeCol);
ДД>//И так для каждого столбца
Дак наверно я плохо вопрос сформулировал. Откудова я знаю эту самую ширину? Данные ведь могут быть совершенно различного размера. Я хочу чтобы DataGrid САМ подогнал ширину каждой колонки к максимальной ширине данных в этой колонке. Ну вот ListView так умеет делать. Хочу и DataGrid чтобы умел.
Здравствуйте fog, Вы писали:
fog>Дак наверно я плохо вопрос сформулировал. Откудова я знаю эту самую ширину? Данные ведь могут быть совершенно различного размера. Я хочу чтобы DataGrid САМ подогнал ширину каждой колонки к максимальной ширине данных в этой колонке. Ну вот ListView так умеет делать. Хочу и DataGrid чтобы умел.
fog>Михаил
Ну дык тут нада поле заполнения грида проходить по строкам, искать максимальную длину строки. Хотя может можно и по другому сделать, правда я пока не нашел как.
Здравствуйте Долбик Дмитрий, Вы писали:
ДД>Ну дык тут нада поле заполнения грида проходить по строкам, искать максимальную длину строки. Хотя может можно и по другому сделать, правда я пока не нашел как.
Ну не! Так соысем уныло. Бегать по строкам и столбцам .... Самому ... Не верю, что это решение от Микрософт. :)
Здравствуйте, fog, Вы писали:
fog>Как можно сказать DataGrid'у, чтобы он ширину столбцов подгонял под ширину данных в них. Что-то я окромя PreferredColumnWidth ничего не нашел. Подскажите, плиз.
Здравствуйте, Al-Ko, Вы писали:
AK>Здравствуйте, fog, Вы писали:
fog>>Ну не! Так соысем уныло. Бегать по строкам и столбцам .... Самому ... Не верю, что это решение от Микрософт.
AK>не волнуйся, Syncfusion уже побегал, тебе остается только проделать нехитрые операции Copy/Paste
AK>это пока описанный на GotDotNet AK>
AK>"закрытый метод DataGrid'a ColAutoResize"
AK>совсем не закрыли...
Вряд-ли его закроют, скорее откроют, т. к. autosize — это не полностью закрытая возможность DataGrid'a — если сделать doubleclick на разделителе колонок — то колонка авторесайзится.