powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Присвоить значение ячейки в GridControl
14 сообщений из 14, страница 1 из 1
Присвоить значение ячейки в GridControl
    #37754580
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Создаю программно столбцы таблицы упрощенный вариант следующий
for (i = 0; i <= 20; i++)// количество столбцов
{
for (j = 0; j <= 50; j++)// количество столбцов
{
s=x*y....;// что-то считаем
GridColumn columns_grafik = new GridColumn()
{
FieldName = "n"+i.ToString()
};
gridControl_grafik.Columns.Add(columns_grafik);
}
}

В общем в конце получается двухмерный массив который нужно засунуть в таблицу? Массив формируется построчно.
Если использовать структуру типа
public class DataList : List<Data>
{
public DataList()
{
for (i = 0; i <= 20; i++)// количество столбцов
{
for (j = 0; j <= 50; j++)// количество столбцов
{
s=x*y....;// что-то считаем
GridColumn columns_grafik = new GridColumn()
{
FieldName = "n"+i.ToString()
};
gridControl_grafik.Columns.Add(columns_grafik);
}
}
Data d = new Data();
d.n1 = s;
Add(d);
}
.......
public class Data
{
public string n1 { get; set; }
.....////Что в ручную все столбцы перечислять?
public string n2 { get; set; }
}
.......

gridControl_grafik.DataContext = new DataList();

тут получилось добавить первый столбец. Нельзя ли добавлять (присваивать значения) ячейки Grid'а? Например во время получения нужного результата "сказать" что вот это должно "лежать" там
Спасибо
...
Рейтинг: 0 / 0
Присвоить значение ячейки в GridControl
    #37755022
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Присвоить значение ячейки в GridControl
    #37755047
enigmatic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

Дефолтный сильверлайт грид и многие другие ему подобные не позволяют так сделать.
Грид это не двумерный массив ячеек, а список сущностей со свойствами.

Если хочется, чтобы:
>во время получения нужного результата "сказать" что вот это должно "лежать" там
то вам нужен грид, который поддерживает unbound режим.
В unbound'e так можно делать. Напр. grid[i,j] = value.

уТКа,
Кстати, этим летом обещают русский перевод нового издания этой книги по 5-му сильверлайту.
...
Рейтинг: 0 / 0
Присвоить значение ячейки в GridControl
    #37755113
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я использую devexpress'овский GridControl
Какой выход? если я получаю строку вида
Код: sql
1.
 11  12  13


Как бы Вы ее загнали в таблицу? Спасибо
...
Рейтинг: 0 / 0
Присвоить значение ячейки в GridControl
    #37755266
enigmatic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

Создал бы класс с тремя целочисленными полями, создал бы его экземпляр со значениями [11,12,13], добавил бы экземпляр в ObservableCollection привязанную к ItemsSource грида.
...
Рейтинг: 0 / 0
Присвоить значение ячейки в GridControl
    #37755343
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Создал класс
Код: sql
1.
2.
3.
4.
5.
6.
public class Data
{
public string n1 { get; set; }
public string n2 { get; set; }
public string n3 { get; set; }
}


А как создать экземпляр присвоив нужные значения нужным полям?
Или и класс не тот?
...
Рейтинг: 0 / 0
Присвоить значение ячейки в GridControl
    #37755352
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: c#
1.
2.
3.
4.
public class Data
{
    public string[] Values { get; set; }
}
...
Рейтинг: 0 / 0
Присвоить значение ячейки в GridControl
    #37755475
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А значения где присваивать?
...
Рейтинг: 0 / 0
Присвоить значение ячейки в GridControl
    #37755535
enigmatic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_FedorСоздал класс
Код: sql
1.
2.
3.
4.
5.
6.
public class Data
{
public string n1 { get; set; }
public string n2 { get; set; }
public string n3 { get; set; }
}


А как создать экземпляр присвоив нужные значения нужным полям?
Или и класс не тот?
Создать экземпляр:
Код: c#
1.
var dataitem = new Data { n1="11", n2="12", n3="13"};

Потом взять грид и сделать, например:
Код: c#
1.
grid.ItemsSource = new ObservableCollection<Data>(new List<Data> { dataitem });
...
Рейтинг: 0 / 0
Присвоить значение ячейки в GridControl
    #37755543
enigmatic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К
Код: c#
1.
2.
3.
4.
public class Data
{
    public string[] Values { get; set; }
}

А я не знаю как впихнуть в таблицу массив значений.

Chek_Fedor,
Кстати, вы заранее знаете столбцы грида или это становится известно в рантайме?
...
Рейтинг: 0 / 0
Присвоить значение ячейки в GridControl
    #37755809
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, знаю, т.к. сам их задаю.
Например:
n1 n2 .... n50
могу указать в XAML, но предпочел
Код: sql
1.
2.
3.
4.
5.
6.
7.
for (i = 0; i <= 50; i++)// количество столбцов
GridColumn columns_grafik = new GridColumn()
  {
     FieldName = "n"+i.ToString() 
  };
  gridControl_grafik.Columns.Add(columns_grafik);
}


т.к. кол-во варьируется от 50-55, но это не критично оставлю при 54-х один пустой
с таким количеством столбцов получится
класс
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
public class Data
{
public string n1 { get; set; }
public string n2 { get; set; }
public string n3 { get; set; }
........
public string n50 { get; set; }
}


ну очень "большой" также как и экземпляр, но фик с ним один раз перечислить и забыть. Спасибо. Позже попробую реализовать.
...
Рейтинг: 0 / 0
Присвоить значение ячейки в GridControl
    #37756412
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
enigmaticАлексей К
Код: c#
1.
2.
3.
4.
public class Data
{
    public string[] Values { get; set; }
}

А я не знаю как впихнуть в таблицу массив значений.
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
<DataGrid Name="grid">
    <DataGrid.Columns>
        <DataGridTextColumn Header="Колонка 1" Binding="{Binding Values[0]}"/>
        <DataGridTextColumn Header="Колонка 2" Binding="{Binding Values[1]}"/>
        <DataGridTextColumn Header="Колонка 3" Binding="{Binding Values[2]}"/>
        <DataGridTextColumn Header="Колонка 4" Binding="{Binding Values[3]}"/>
    </DataGrid.Columns>
</DataGrid>


Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
var data = new ObservableCollection<Data>
{
    new Data { Values = new[] { "1", "2", "3", "4" } },
    new Data { Values = new[] { "1", "2", "3", "4" } },
    new Data { Values = new[] { "1", "2", "3", "4" } },
    new Data { Values = new[] { "1", "2", "3", "4" } }
};

grid.ItemsSource = data;



ЗЫ: Возможны опечатки.
...
Рейтинг: 0 / 0
Присвоить значение ячейки в GridControl
    #37756442
enigmatic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К,

Спасибо. Не знал, что из замла можно обращаться по индексу.
...
Рейтинг: 0 / 0
Присвоить значение ячейки в GridControl
    #37756497
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в сущности Data желательно реализовать INotifyPropertyChanged, чтобы измененные данные в коде корректно отображались в контроле.
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Присвоить значение ячейки в GridControl
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]