Модераторы: gambit, Partizan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Отображение данных DataGridView, Невозможно отобразить данные DataGridVie 
:(
    Опции темы
IAT
  Дата 6.12.2011, 15:27 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 6.12.2011

Репутация: нет
Всего: нет



Доброго времени суток!
Есть база данных, для которой создается DataSet, в итоге должна вводиться информация в эту базу и выводиться в DataGridView. 
Проблема возникает когда DataGridView.DataSource принимает список некоторых объектов:

Код

                List<Storage> allstorages = accessToDataArchive.GetAllStorages();
                Storage_dgv.DataSource = allstorages;


allstorages - экземпляр объекта (одна из таблиц БД), в нем присутствует еще список данных(их может быть несколько в одном поле), которые нужно вывести в DataGridView. После запуска программы выводятся только те поля таблицы, которые могут принимать только единственные значения. Подскажите пожалуйста как вывести данные, которые представлены списком??????

user posted image

PM MAIL   Вверх
VirusUZ
  Дата 6.12.2011, 18:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 161
Регистрация: 9.4.2010
Где: Узбекистан, Навои й обл.

Репутация: -1
Всего: -2



Код

ArrayList lst=new ArrayList();
while(..){
...
Storage str=new Storage();
...
lst.add(str);
}
dataGriedView1.DataSource=lst;

--------------------
Virus
PM MAIL   Вверх
IAT
Дата 7.12.2011, 14:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 6.12.2011

Репутация: нет
Всего: нет



У меня  примерно что-то вроде этого вышло:
Код


        public List<Storage> GetAllStorages()
        {
            if (this.archiveDataSet == null)
                return null;
            DataRowCollection searchedRow = this.archiveDataSet.storage.Rows;

            return this.GetRestPartsOfStorage(searchedRow);
        }

        List<Storage> GetRestPartsOfStorage(DataRowCollection searchedRows)
        {
            if (searchedRows == null || searchedRows.Count == 0)
                return null;

            List<Storage> storages = new List<Storage>();

            foreach (archivefundDataSet.storageRow storRow in searchedRows)
            {
                Storage storage = new Storage();
                storage.ID_Storage = storRow.ID_Storage;
                storage.RegistDate = storRow.RegistDate;
                storage.NoteStorage = storRow.Note;

                if (storRow.laboratoryRow != null)
                {
                    storage.NumberLaboratory = storRow.laboratoryRow.NumberLaboratory;
                }
                else
                {
                    throw new Exception("Cannot find corresponding Laboratory");
                }

                if (storRow.applicantcompanyRow != null)
                {
                    storage.NameCompany = storRow.applicantcompanyRow.NameCompany;
                }
                else
                {
                    throw new Exception("Cannot find corresponding Company");
                }

                DataRow[] testobjectRows = archiveDataSet.testobject.Select("Storage_ID = " + storRow.ID_Storage);                
                
                if (testobjectRows != null && testobjectRows.Length != 0)
                {
                    foreach (archivefundDataSet.testobjectRow testobRow in testobjectRows)
                    {
                        storage.NameTestObject = new List<string>();
                        storage.NameDesign = new List<string>();

                        storage.NameTestObject.Add(testobRow.NameTestObject);
                        storage.NameDesign.Add(testobRow.NameDesign);
                    }
                }
                else
                {
                    throw new Exception("Cannot find corresponding TestObject");
                }

                if (storRow.workcontractRow != null)
                {
                    storage.NumberContract = storRow.workcontractRow.NumberContract;
                    storage.DateContract = storRow.workcontractRow.DateContract;
                }
                else
                {
                    throw new Exception("Cannot find corresponding Contract");
                }
                storages.Add(storage);                
            }
            return storages;


а потом уже передал на DataGridView:
Код

                List<Storage> allstorages = accessToDataArchive.GetAllStorages();
                Storage_dgv.DataSource = allstorages;

======================================================
а зачем ArrayList создавать ??
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка Windows Forms | Следующая тема »


 




[ Время генерации скрипта: 0.0996 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.