С Новым годом! Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/82: Рейтинг темы: голосов - 82, средняя оценка - 4.54
2 / 2 / 0
Регистрация: 20.07.2011
Сообщений: 18

Data binding / привязка данных

24.08.2011, 15:23. Показов 15048. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день.
Я правильно понимаю, что если хочу привязать график сhart1 к некоторому массиву точек кодом
C#
1
chart1.Series["Series1"].Points.DataBindXY(xArr, yArr);
, то должен вызывать этот код каждый раз при обновлении xArr и yArr?
И, если так, то есть ли возможность привязать график к массивам один раз и навсегда?
Спасибо.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
24.08.2011, 15:23
Ответы с готовыми решениями:

data binding
Пишу программу Библиотека(без баз данных-очень простенькая), и возникла такая трабла : У меня есть список книг который хранится в...

как сделать data binding между datagrid и sql?
Я удалил строчку из datagrid ds.Tables.Rows.Delete(); myDG.DataSource = ds.Tables; Было б не плохо сотворить...

Привязка данных используя Binding
Здравствуйте! Подскажите пожалуйста как сделать привязку таким образом, чтобы данные выделенного объекта отображались в TextBox-ах ...

7
2 / 2 / 0
Регистрация: 20.07.2011
Сообщений: 18
27.08.2011, 22:04  [ТС]
Не люблю это делать, но UP.
0
Злой няш
 Аватар для I2um1
2136 / 1505 / 565
Регистрация: 05.04.2010
Сообщений: 2,881
27.08.2011, 22:33
А что это за chart1 такой? Если это какой-то специальный класс для отображения графиков и в нем нет такого свойства как DataSource, то вызывайте тот код каждый раз.
Если же уж очень сильно в лом каждый раз руками писать этот код, то вам ничего не мешает переопределить класс этого chart1 и прилепить к нему поле DataSource, при этом создав по сути свой BindingSource с помощью событий и делегатов.
P.S. Забавно что это за график такой, что так часто меняется? Слайд-шоу графиком?
0
2 / 2 / 0
Регистрация: 20.07.2011
Сообщений: 18
27.08.2011, 22:45  [ТС]
chart1 - стандартный объект класса Chart из Windows Forms, в нём есть свойство DataSource, но это мне мало помогает. Возможно ссылка на нужную статью будет хорошей помощью. Пока не знаю, в какую сторону копать.

График меняется с течением времени, т.к. отображает текущие параметры, которые часто меняются (~ раз в секунду).
0
Злой няш
 Аватар для I2um1
2136 / 1505 / 565
Регистрация: 05.04.2010
Сообщений: 2,881
28.08.2011, 02:40
Цитата Сообщение от sol@ris Посмотреть сообщение
из Windows Forms
Что? А вы разделом на форуме не ошиблись? Надо было сразу говорить то, что это WPF.
Цитата Сообщение от sol@ris Посмотреть сообщение
стандартный объект
У меня его нет. Просмотрел все книги, что есть касательно WPF, так там тоже ничего о нем не нашел. Нет, я вовсе не говорю, что вы не правы, так как он в последней версии должен идти как стандартный компонент.

В поиске информации о этом компоненте пришел к выводу о том, что он не очень хорошо документирован, и в интернете мало информации о нем. Так что метод проб и ошибок никто не исключает.

Я как понял, вы говорите именно об этом Chart, так как я их в интернете нашел еще несколько штук.

P.S. ИМХО, бесполезный элемент, проще и быстрее самому такой график соорудить из тех компонентов, что есть в наличии.
0
2 / 2 / 0
Регистрация: 20.07.2011
Сообщений: 18
28.08.2011, 10:35  [ТС]
Blood-Angel, Вы не правы, к WPF это не имеет никакого отношения. Та ссылка, что Вы дали, есть ссылка на стороннюю библиотеку, реализующую графики для WPF.
Вы, мне кажется, путаете WPF и Windows Forms. Класс Chart, если интересно, находится во вкладке "Данные" панели инструментов Windows Forms.

Проблему эта дискуссия, конечно, не решает. Вы говорили про DataSource и BindingSource. Где можно подробнее почитать об этих объектах?
1
Злой няш
 Аватар для I2um1
2136 / 1505 / 565
Регистрация: 05.04.2010
Сообщений: 2,881
28.08.2011, 11:22
Спасибо, узнал что-то новое.

Создайте такой класс:
C#
1
2
3
4
5
6
7
8
9
10
11
    class MyData
    {
        public double X { get; private set; }
        public double Y { get; private set; }
 
        public MyData(double x, double y)
        {
            this.X = x;
            this.Y = y;
        }
    }
А вот вам пример привязки:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
        private void Form1_Load(object sender, EventArgs e)
        {
            List<MyData> list = new List<MyData>();
            list.Add(new MyData(3.4, 5.7));
            list.Add(new MyData(5.3, 3.2));
            list.Add(new MyData(7.2, 10.0));
            chart1.Series[0].XValueMember = "X";
            chart1.Series[0].YValueMembers = "Y";
            chart1.DataSource = list;
            chart1.DataBind();
            list.Add(new MyData(9.4, 7.3));
            chart1.DataBind();
        }
Вот это действие надо делать обязательно, чтобы отразить изменения:
C#
1
    chart1.DataBind();
Результат работы:


Если у вас несколько серий, то расширьте класс MyData и допишите строчки, на подобие этих:
C#
1
2
            chart1.Series[0].XValueMember = "X";
            chart1.Series[0].YValueMembers = "Y";
2
 Аватар для nio
6050 / 3460 / 336
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
28.08.2011, 11:25
Цитата Сообщение от sol@ris Посмотреть сообщение
Класс Chart, если интересно, находится во вкладке "Данные" панели инструментов Windows Forms.
sol@ris, тут следовало уточнить, что у тебя VS 2010, т.к. Chart появился именно с этой версии

Вот тебе ответ http://msdn.microsoft.com/ru-r... ource.aspx
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
28.08.2011, 11:25
Помогаю со студенческими работами здесь

Привязка данных через Binding в XAML
Дорогие форумчане. Помогите с таким вопросом. Работаю с WPF на Visual Basic. Каким образом можно осуществлять привязку данных через Binding...

Связывание данных (data binding) & ADO
Помогите, плз. Никак не могу заставить привязаться Аксессовскую таблицу к моей ВЕБ-странице. Хочу просто вывести данные из базы в...

Привязка данных между графикам ChartPlotter Dynamic Data Display
Добрый день! Подскажите, есть ли возможность привязки данных нескольких графиков только по оси X? То есть если пользователь, скажем,...

Gridview привязка binding
Подскажите мне пжлст что я сделал не так? 1) создал некоторый класс Car с 2мя полями там марка и номер, пометил этот класс, как ...

Не получается привязка (Binding)
Пишу twitter клиент пользуясь паттерном MVVM. Вся механика вытаскивания твиттов с твиттера работает (дебажил, проверенно). НЕ РАБОТАЕТ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru