Как автоматически обновить диаграмму, когда таблица получает новую запись?
Предположим, у меня есть таблица с цветовым полем - красный / белый / синий - и каждый раз, когда мое приложение получает событие по TCP/IP и вставляет новую строку в базу данных, я хочу, чтобы компонент круговой диаграммы с поддержкой данных автоматически обновлялся показывая соотношение этих цветов. Как я могу это сделать?
Я видел примеры компонентов, учитывающих данные, но они просто показывают значение каждой строки таблицы (пока я не зашел слишком далеко). На самом деле, я даже не уверен, что добавление еще одной строки в базу данных добавит еще одну строку в сетку с поддержкой БД (push, а не pull).
1 ответ
Я даже не уверен, что добавление еще одной строки в базу данных добавит еще одну строку в сетку, осведомленную о БД (push, а не pull).
Если набор данных live
добавление строки в набор данных обновит сетку.
Послушайте, давайте просто представим, что у меня есть таблица, основным ключом которой является цвет - красный / белый / синий - и каждый раз, когда мое приложение получает событие по TCP/IP и вставляет новую строку в базу данных, я хочу круговую диаграмму с учетом данных Компонент диаграммы для автоматического обновления показывает соотношение этих цветов.
- Добавить
Connection
к вашей форме, установите его так, чтобы он подключался к вашей базе данных. - Установить
connection
active
собственность наtrue
- Добавьте запрос в форму, установите соединение с
connection1
- Установить
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
- Установить
active
собственность наtrue
- Оставьте
datasource
на форме, установите егоdataset
вquery1
- Перетащите DBChart на форму, установите его
datasource
вdatasource1
- Поиграйте с DBChart, чтобы он отобразил круговую диаграмму.