Динамическое создание сетки с использованием списков - PullRequest
1 голос
/ 05 февраля 2012

Я пытаюсь создать динамическую сетку со столбцами, равными количеству дней в месяце (добавлю эту функцию позже, когда я получу сетку), и строк, равных количеству объектов в списке emplist.

Пока это мой код.

Grid dategrid = new Grid();
dategrid.Width = 400;
dategrid.HorizontalAlignment = HorizontalAlignment.Left;
dategrid.VerticalAlignment = VerticalAlignment.Top;
dategrid.ShowGridLines = true;
dategrid.Background = new SolidColorBrush(Colors.DimGray);
List<ColumnDefinition> columnlist = new List<ColumnDefinition>();
List<RowDefinition> rowlist = new List<RowDefinition>();
for (int i = 0; i < 31; i++)
{
    columnlist.Add(new ColumnDefinition());
    dategrid.ColumnDefinitions.Add(columnlist[i]);
}
for (int i = 0; i < Control.empList.Count; i++)
{
    rowlist.Add(new RowDefinition());
    dategrid.RowDefinitions.Add(rowlist[i]);
    rowlist[i].Height = new GridLength(45);
}

Код компилируется, но в форме не отображается сетка.Я чувствую, что мне здесь не хватает чего-то очень простого, но я не могу этого понять.

Ответы [ 2 ]

0 голосов
/ 05 февраля 2012

Ваш код не показывает, что вы нигде не добавляете сетку на страницу.Пока что все, что вы показали, - это создание сетки в памяти Вам нужно что-то вроде gridSpace.controls.add(datagrid), где gridspace - это контейнер на странице.Что-то вроде <div id="gridspace" runat="server"></div> (подойдет любой другой контейнер ...).Или (если это winforms) для панели или другого контейнера в форме ....

0 голосов
/ 05 февраля 2012

Вы пропали без вести dategrid.Bind()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...