powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / dataGrid отображение коллекции коллекци
16 сообщений из 16, страница 1 из 1
dataGrid отображение коллекции коллекци
    #38760170
АлексейКв
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.

Есть коллекция типа List<List<T>>, необходимо отобразить ее в dataGrid. Подскажите где, почитать.
...
Рейтинг: 0 / 0
dataGrid отображение коллекции коллекци
    #38760207
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Трехмерный грид? Ништяк
...
Рейтинг: 0 / 0
dataGrid отображение коллекции коллекци
    #38760218
АлексейКв
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Двухмерный. List<T> - срока неизвестной заранее размерности, List<List<T>> коллекция строк
...
Рейтинг: 0 / 0
dataGrid отображение коллекции коллекци
    #38760220
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АлексейКвList<T> - срока неизвестной заранее размерности

Строкой принято называть тип string. Так что такое T?
...
Рейтинг: 0 / 0
dataGrid отображение коллекции коллекци
    #38760223
АлексейКв
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Т - простой класс, содержит значение и тип поля
Хотя данные можно представить и как List<object[]>
...
Рейтинг: 0 / 0
dataGrid отображение коллекции коллекци
    #38760226
АлексейКв
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Строка - имел ввиду не тип данных, а троку реляционной таблицы
...
Рейтинг: 0 / 0
dataGrid отображение коллекции коллекци
    #38760231
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АлексейКвХотя данные можно представить и как List<object[]>

Данные одной таблицы из реляционной БД можно представить в виде List<T>. Зачем тут List<List<T>> - ума не приложу. Если ты имеешь ввиду отображение двух связанных таблиц, то уточняй.
...
Рейтинг: 0 / 0
dataGrid отображение коллекции коллекци
    #38760491
АлексейКв
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть результат выборки из БД, который представлен может быть представлен в виде List<object[]>, либо List<List<T>> где T класс описывающий значение,
например
class SomeClass
{
public object Value{ get; set; }
public Type DataType { het; set;}
.......
}

Этот результат необходимо представить в dataGridView как источник данных. Ограничение по фреймфоку - 2.0. IValueConverter не поддерживаеться
...
Рейтинг: 0 / 0
dataGrid отображение коллекции коллекци
    #38760510
АлексейКв
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторЗачем тут List<List<T>> - ума не приложу

Данные не таблицы, а выборки. Изначально не известно какое колличество полей и какого типа будет возвращено. Это известно только после выборки данных с сервера. Поэтому для значений используется object[] простом варианте, либо List<T>, размерность котого определяется после получения данных с бд. То есть нет возможности написать класс
class T
{
public type_x property_x { get; set;}
public type_y property_y { get; set;}
и т.д.
}
Свойства заранее не известны
...
Рейтинг: 0 / 0
dataGrid отображение коллекции коллекци
    #38760525
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АлексейКвДанные не таблицы, а выборки. Изначально не известно какое колличество полей и какого типа будет возвращено.

Как это - не известно? Запрос покажи, и как его результат запихиваешь в List<List<T>>
...
Рейтинг: 0 / 0
dataGrid отображение коллекции коллекци
    #38760566
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АлексейКв,
ачо соедени чанки в лист List<List<T>> то <List<T> и выводи
что бы было легче читать T отнаследуй от интерфейса типо int Chunk{ get; set; } и группируй по этому полю
можешь в Cell листа забабахать грид с листами T тоже возможно легко, только от пользователей скрываться будешь или икать.
...
Рейтинг: 0 / 0
dataGrid отображение коллекции коллекци
    #38760574
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что-то это мне напомнило MongoVUE.
...
Рейтинг: 0 / 0
dataGrid отображение коллекции коллекци
    #38760586
АлексейКв
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я запросы не пишу, я их только обрабатываю. У меня и кода запроса нет, хотя в профайлере отловить можно. Суть в том, что кол-во колонок переменное, в запросе строки переворачиваются в столбцы. Соответственно я не знаю сколько колонок будет на выходе, пока данные не получу.

T - для упрощения берем object
T = null;

List<object> row = null;
List<List<object>> table = new List<List<object>> ();
while(reader.Read())
{
row = new List<object>();
for(int i = 0; i < reader.FiledCount; i++)
row.Add(reader[i]);
table.Add(row);
}
Получил набор данных теперь надо его отобразить. Использовать DataTable как бы запрещено политикой проекта.
...
Рейтинг: 0 / 0
dataGrid отображение коллекции коллекци
    #38760594
АлексейКв
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Точнее этот массив данных необходимо преобразовать в источник, что бы грид с ним мог работать так же как с DataTable.
...
Рейтинг: 0 / 0
dataGrid отображение коллекции коллекци
    #38760600
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АлексейКвЯ запросы не пишу, я их только обрабатываю. У меня и кода запроса нет, хотя в профайлере отловить можно. Суть в том, что кол-во колонок переменное, в запросе строки переворачиваются в столбцы. Соответственно я не знаю сколько колонок будет на выходе, пока данные не получу.

T - для упрощения берем object
T = null;

List<object> row = null;
List<List<object>> table = new List<List<object>> ();
while(reader.Read())
{
row = new List<object>();
for(int i = 0; i < reader.FiledCount; i++)
row.Add(reader[i]);
table.Add(row);
}
Получил набор данных теперь надо его отобразить. Использовать DataTable как бы запрещено политикой проекта.
))))
...
Рейтинг: 0 / 0
dataGrid отображение коллекции коллекци
    #38760757
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ешки-матрешки

Вот примитивный код извлечения данных, пользуйтесь

Код: c#
1.
2.
3.
4.
5.
6.
7.
                            rows = new List<object[]>();
                            while (sqlDataReader.Read())
                            {
                                object[] columns_ = new object[sqlDataReader.FieldCount];
                                sqlDataReader.GetValues(columns_);
                                rows.Add(columns_);
                            }
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / dataGrid отображение коллекции коллекци
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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