Как автоматически обновить диаграмму, когда таблица получает новую запись? - PullRequest
0 голосов
/ 17 ноября 2011

Предположим, у меня есть таблица с цветовым полем - красный / белый / синий - и каждый раз, когда мое приложение получает событие по TCP / IP и вставляет новую строку в базу данных, я хочу, чтобы компонент круговой диаграммы с учетом данных автообновление показывает соотношение этих цветов. Как я могу это сделать?

Я видел примеры компонентов, учитывающих данные, но они просто показывают значение каждой строки таблицы (я еще не слишком далеко продвинулся). На самом деле, я даже не уверен, что добавление еще одной строки в базу данных добавит еще одну строку в сетку с поддержкой БД (push, а не pull).

1 Ответ

3 голосов
/ 17 ноября 2011

Я даже не уверен, что добавление еще одной строки в базу данных добавит еще одну строку в сетку с поддержкой БД (push, а не pull).

Если набор данных live, добавление строки в набор данных обновит сетку.

Слушайте, давайте просто представим, что у меня есть таблица, основным ключом которой является цвет - красный / белый / синий - и каждый раз, когда мойПриложение получает событие по TCP / IP и вставляет новую строку в базу данных. Я хочу, чтобы компонент круговой диаграммы с учетом данных автоматически обновлялся, показывая соотношение этих цветов.

  1. Добавьте Connection в форму, настройте ее так, чтобы она соединялась с вашей базой данных.
  2. Установите для свойства connection active значение true
  3. Добавьте запрос в форму, установите для подключения значение connection1
  4. Установите значение sqlдля свойства SELECT (count(*) / b.totalcount) as percentage, b.totalcount FROM table1 a CROSS JOIN (select count(*) as totalcount from table1) b GROUP BY a.color
  5. Установите для свойства active значение true
  6. Перетащите datasource на форму, установите для dataset значение query1
  7. Перетащите DBChart на форму, установите datasource на datasource1
  8. Fiddle с DBChart, чтобы он отображал круговую диаграмму.
...