Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.12.2012, 02:22   #1
Pilyla
Пользователь
 
Регистрация: 16.12.2012
Сообщений: 42
Лампочка DBChart добавление легенды кодом

В диаграмму добавляются значения, они же и добавляются в легенду..как сделать,чтоб в легенду добвалялись значения столбца
Name_of_teacher???????

Вот исходный код:
adoquery1.Active:=false;
adoquery1.sql.Clear;
adoquery1.SQL.Add('select sum(Count_of_disciplines) as Summa, '+#39+'Name_of_teacher'+#39+ ' as dot from PREPODAVATELI group by Number_of_teacher');
adoquery1.Open;
ADOquery1.First;
DBChart1.Series[0].Clear;
while not ADOquery1.Eof do begin
DBChart1.Series[0].Add(adoquery1.FieldValues['Summa']);
ADOquery1.Next;
end;
Pilyla вне форума Ответить с цитированием
Старый 02.02.2013, 16:43   #2
Dux
Delphi Master
Форумчанин Подтвердите свой е-майл
 
Аватар для Dux
 
Регистрация: 31.03.2008
Сообщений: 803
По умолчанию

У меня собственно тот же вопрос. Значения с помощью кода ниже вывел:

ADOquery1.First;
DBChart1.Series[0].Clear;
while not ADOquery1.Eof do begin
DBChart1.Series[0].Add(adoquery1.FieldValues['Quantity']);
ADOquery1.Next;

а как программно на диаграмме DBChart подписать по оси х названия столбцов (Янв, Фев, Мар и т.д.) вместо цифр, которые появляются автоматически??? Данные необходимо взять из той же таблицы Access в которой есть еще столбец "Month"


Последний раз редактировалось Dux; 02.02.2013 в 16:56.
Dux вне форума Ответить с цитированием
Старый 02.02.2013, 17:53   #3
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Делал такое, прога на компе лежит. Буду дома - выложу код.

Но по памяти - там надо во-первых, сам чарт настроить (точнее, настрока серии), во-вторых, вроде доступ к подписям оси Х через Values серии.
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 02.02.2013, 18:24   #4
Dux
Delphi Master
Форумчанин Подтвердите свой е-майл
 
Аватар для Dux
 
Регистрация: 31.03.2008
Сообщений: 803
По умолчанию

Цитата:
Сообщение от Sciv Посмотреть сообщение
Делал такое, прога на компе лежит. Буду дома - выложу код.
Спасибо, буду ждать примера
Dux вне форума Ответить с цитированием
Старый 03.02.2013, 00:45   #5
Dux
Delphi Master
Форумчанин Подтвердите свой е-майл
 
Аватар для Dux
 
Регистрация: 31.03.2008
Сообщений: 803
По умолчанию

Уважаемые эксперты, есть у кого идеи по теме, или может ссылки где почитать, гугл уже загуглил, а ответа найти не могу
Dux вне форума Ответить с цитированием
Старый 03.02.2013, 11:42   #6
ReportCube
Форумчанин
 
Аватар для ReportCube
 
Регистрация: 11.03.2011
Сообщений: 426
По умолчанию

Вообще-то функция Add имеет три параметра, из которых два необязательны:
DBChart1.Series[0].Add(AValue, ALabel, AColor);
ReportCube вне форума Ответить с цитированием
Старый 03.02.2013, 12:42   #7
Dux
Delphi Master
Форумчанин Подтвердите свой е-майл
 
Аватар для Dux
 
Регистрация: 31.03.2008
Сообщений: 803
По умолчанию

Цитата:
Сообщение от ReportCube Посмотреть сообщение
Вообще-то функция Add имеет три параметра, из которых два необязательны:
DBChart1.Series[0].Add(AValue, ALabel, AColor);
В этом случае значения перекрываются месяцами...
DBChart1.Series[0].Add(adoquery2.FieldValues['Quantity'],adoquery2.FieldValues['Month']);




Или я что-то не так сделал?
Dux вне форума Ответить с цитированием
Старый 03.02.2013, 13:36   #8
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Посмотрел свой код - у меня там, правда, работа с обычным чартом, а не дб... Но в общем, все как выше сказал ReportCube - передаю три параметра:

Код:
      Graf1.Series[0].AddY(count1,DM.tUsersNAME.AsString,clRed);
           Graf1.Series[1].AddY(count2,DM.tUsersNAME.AsString,clGreen);
           Graf1.Series[2].Add(Sred,DM.tUsersNAME.AsString,clYellow);
А настройка вывода столбцов делается так: дважды кликаем по чарту, закодим на вкладку Series - см. рисунок:
Изображения
Тип файла: jpg 12.JPG (30.3 Кб, 83 просмотров)
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 03.02.2013, 14:36   #9
ReportCube
Форумчанин
 
Аватар для ReportCube
 
Регистрация: 11.03.2011
Сообщений: 426
По умолчанию

Попробуйте поиграться со свойством: Series[0].Marks.Style := smsPercent;

Последний раз редактировалось ReportCube; 03.02.2013 в 14:38.
ReportCube вне форума Ответить с цитированием
Старый 03.02.2013, 15:01   #10
Dux
Delphi Master
Форумчанин Подтвердите свой е-майл
 
Аватар для Dux
 
Регистрация: 31.03.2008
Сообщений: 803
По умолчанию

Sciv Большое спасибо за наводку. Надо было просто установить в Marks > Style > Value

Либо программно:
Код:
DBChart1.Series[0].Marks.Style := smsValue;
. Спасибо ReportCube!!!
Dux вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отрисовка легенды Алек JavaScript, Ajax 2 08.12.2011 16:38
Значки для легенды карты Loka Общие вопросы .NET 2 25.05.2011 08:27
DBChart D@rk M@k Общие вопросы Delphi 3 11.05.2011 17:42