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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помомогите связать DataGridView и dataSet 
V
    Опции темы
okaton
Дата 13.10.2008, 22:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Доброго времени сутокsmile
Помогите решить проблему. Есть DataGridView1 и DataGridView2, также есть 2 класса.
Нужно связать DataGridView1 и DataGridView2 с двумя классами таким образом, что бы когда выбираешь строку в DataGridView1 в DataGridView2 отображались дополнительные данные.
После этого организовать связь с dataSet, ну и в нем соответственно сохранять и загружать данные.
Код

public class CLASS_dataGridView2
        {
            string[] brand = null;
            public string[] SubClass_Brand
            {
                get
                {
                    return brand;
                }
            }

            string[] recruitment = null;
            public string[] SubClass_Recruitment
            {
                get
                {
                    return recruitment;
                }
            }

            string[] registrationID = null;
            public string[] SubClass_RegistrationID
            {
                get
                {
                    return registrationID;
                }
            }
            string[] subComment = null;
            public string[] SubClass_SubComment
            {
                get
                {
                    return subComment;
                }
            }

            string[] notes = null;
            public string[] SubClass_Notes
            {
                get
                {
                    return notes;
                }
            }
        }

        public class CLASS_dataGridView1
        {
            string factoryID = null;
            public string SubClass_FactoryID
            {
                get
                {
                    return factoryID;
                }
            }

            string idComplete = null;
            public string SubClass_IDComplete
            {
                get
                {
                    return idComplete;
                }
            }

            string departament = null;
            public string SubClass_Departament
            {
                get
                {
                    return departament;
                }
            }

            string responsible = null;
            public string SubClass_Responsible
            {
                get
                {
                    return responsible;
                }
            }

            string building = null;
            public string SubClass_Building
            {
                get
                {
                    return building;
                }
            }

            string room = null;
            public string SubClass_Room
            {
                get
                {
                    return room;
                }
            }

            string comment = null;
            public string SubClass_Comment
            {
                get
                {
                    return comment;
                }
            }

            public CLASS_dataGridView2 class_dataGridView2;
        }

PM MAIL   Вверх
Partizan
Дата 13.10.2008, 23:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Let's do some .NET
****


Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

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



кросспостинг - это не хорошо...


--------------------
СУВ,
       Partizan.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
okaton
Дата 13.10.2008, 23:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Partizan, может это и не хорошо, но мне нужна реально действенная помощь, причем довольно срочно, а обратится мне больше не куда. И что же мне делать? бублики пинать?

PM MAIL   Вверх
MasterOfCode
Дата 14.10.2008, 11:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


elwin
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 24.4.2008
Где: World.Russia.Tyum en

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



Цитата(okaton @  14.10.2008,  01:05 Найти цитируемый пост)
Нужно связать DataGridView1 и DataGridView2 с двумя классами таким образом, что бы когда выбираешь строку в DataGridView1 в DataGridView2 отображались дополнительные данные.

Это можно сделать так:
Код

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        class MyClass
        {
            public MyClass(int _id, string _name)
            {
                id = _id;
                name = _name;
            }
            public int id
            {
                get;
                set;
            }
            public string name
            {
                get;
                set;
            }
        }

        class MyParentClass
        {
            public MyParentClass(int _id, int _parentid, string _name)
            {
                id = _id;
                parentId = _parentid;
                parentName = _name;
            }
            public int id
            {
                get;
                set;
            }
            public int parentId
            {
                get;
                set;
            }
            public string parentName
            {
                get;
                set;
            }
        }
        List<MyClass> dgv1;
        List<MyParentClass> dgv2;
        List<MyParentClass> dgv2_;
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            dgv1 = new List<MyClass>();
            dgv2 = new List<MyParentClass>();
            for (int i = 0; i < 3; i++)
            {
                dgv1.Add(new MyClass(i, i.ToString()));
                for(int j = -1; j < i; j++)
                {
                    dgv2.Add(new MyParentClass(j, i, j.ToString()));
                }
            }
            dataGridView1.DataSource = dgv1;
            IEnumerable<MyParentClass> query = dgv2.Where(pcls => pcls.parentId == Convert.ToInt32(dataGridView1[0, 0].Value));
            dgv2_ = query.ToList<MyParentClass>();
            dataGridView2.DataSource = dgv2_;
            dataGridView2.Refresh();
        }

        private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            IEnumerable<MyParentClass> query = dgv2.Where(pcls => pcls.parentId == Convert.ToInt32(dataGridView1[e.ColumnIndex, e.RowIndex].Value));
            dgv2_ = query.ToList<MyParentClass>();
            dataGridView2.DataSource = dgv2_;
            dataGridView2.Refresh();
        }
    }
}


Добавлено через 31 секунду
Подставь свои классы только smile


--------------------
user posted image
PM ICQ   Вверх
okaton
Дата 14.10.2008, 14:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



MasterOfCode, спасибо большое.

using System.Linq у меня такого нет, это из framework 3?
По ходу 3.5 сейчас установлюsmile

Это сообщение отредактировал(а) okaton - 14.10.2008, 14:28
PM MAIL   Вверх
MasterOfCode
Дата 14.10.2008, 14:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


elwin
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 24.4.2008
Где: World.Russia.Tyum en

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



Цитата(okaton @  14.10.2008,  17:20 Найти цитируемый пост)
using System.Linq у меня такого нет, это из framework 3? 

3.5


--------------------
user posted image
PM ICQ   Вверх
okaton
Дата 14.10.2008, 15:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Скажите а MVS 2005 работает с Framework 3.5?
PM MAIL   Вверх
okaton
Дата 14.10.2008, 15:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



решил скачать MVS 2008  smile 

Это сообщение отредактировал(а) okaton - 14.10.2008, 15:49
PM MAIL   Вверх
Magnifico
Дата 14.10.2008, 20:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 418
Регистрация: 23.1.2008
Где: Московская област ь

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



MasterOfCode взаимно.
okaton ключевые слова: Nowa + MVS 2008 


--------------------
Всё  в  порядке   -   спасибо  зарядке  !
PM MAIL   Вверх
okaton
Дата 14.10.2008, 20:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Цитата(Magnifico @ 14.10.2008,  21:13)
okaton ключевые слова: Nowa + MVS 2008

Стесняюсь спросить, а что такое Nowa?

Это сообщение отредактировал(а) okaton - 14.10.2008, 21:04
PM MAIL   Вверх
Partizan
Дата 15.10.2008, 09:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Let's do some .NET
****


Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

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



присоединяюсь к вопросу) Что ещё за Nowa?  smile 


--------------------
СУВ,
       Partizan.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
okaton
Дата 15.10.2008, 10:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Установил 9 студию smile
Возникли траблы в отладчике

Код

IEnumerable<MyParentClass> query = dgv2.Where(pcls => pcls.parentId == Convert.ToInt32(dataGridView1[0, 0].Value));

Цитата

Error    1    'System.Collections.Generic.List<Set1DataWork.Form1.MyParentClass>' does not contain a definition for 'Where' and no extension method 'Where' accepting a first argument of type 'System.Collections.Generic.List<Set1DataWork.Form1.MyParentClass>' could be found (are you missing a using directive or an assembly reference?)    ...\Form1.cs    82    53    Set1DataWork


Код

dgv2_ = query.ToList<MyParentClass>();

Цитата

Error    2    'System.Collections.Generic.IEnumerable<Set1DataWork.Form1.MyParentClass>' does not contain a definition for 'ToList' and no extension method 'ToList' accepting a first argument of type 'System.Collections.Generic.IEnumerable<Set1DataWork.Form1.MyParentClass>' could be found (are you missing a using directive or an assembly reference?)    ...\Form1.cs    83    27    Set1DataWork


Код

IEnumerable<MyParentClass> query = dgv2.Where(pcls => pcls.parentId == Convert.ToInt32(dataGridView1[e.ColumnIndex, e.RowIndex].Value));

Цитата

Error    3    'System.Collections.Generic.List<Set1DataWork.Form1.MyParentClass>' does not contain a definition for 'Where' and no extension method 'Where' accepting a first argument of type 'System.Collections.Generic.List<Set1DataWork.Form1.MyParentClass>' could be found (are you missing a using directive or an assembly reference?)    ...\Form1.cs    89    53    Set1DataWork


Код

dgv2_ = query.ToList<MyParentClass>();

Цитата

Error    4    'System.Collections.Generic.IEnumerable<Set1DataWork.Form1.MyParentClass>' does not contain a definition for 'ToList' and no extension method 'ToList' accepting a first argument of type 'System.Collections.Generic.IEnumerable<Set1DataWork.Form1.MyParentClass>' could be found (are you missing a using directive or an assembly reference?)    ...\Form1.cs    90    27    Set1DataWork


Ругается на .Where и .ToList<MyParentClass>
 smile Что он от меня хочет?


Это сообщение отредактировал(а) okaton - 15.10.2008, 10:55
PM MAIL   Вверх
Idsa
Дата 15.10.2008, 11:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2086
Регистрация: 5.12.2006
Где: Томск

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



Цитата(okaton @  15.10.2008,  14:50 Найти цитируемый пост)
Ругается на .Where и .ToList<MyParentClass>
 smile Что он от меня хочет?

Необходимо подключить using System.Linq;


--------------------
Мой блог: alexidsa.blogspot.com
PM MAIL ICQ   Вверх
okaton
Дата 15.10.2008, 12:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Idsa, упс, это я действительно прогляделsmile

только почему-то он у меня не подключается:
Цитата

Error    1    The type or namespace name 'Linq' does not exist in the namespace 'System' (are you missing an assembly reference?)

PM MAIL   Вверх
MasterOfCode
Дата 15.10.2008, 12:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


elwin
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 24.4.2008
Где: World.Russia.Tyum en

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



Добавь библиотеку в reference


--------------------
user posted image
PM ICQ   Вверх
Страницы: (3) Все [1] 2 3 
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

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

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Базы данных под .NET | Следующая тема »


 




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


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

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