Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Программное добавление колонки в DbGrid. 
:(
    Опции темы
drenthe
Дата 17.12.2011, 21:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



 Всем привет!
 Есть такая проблема:
 необходимо добавить колонку в DbGrid по нажатию кнопки, при этом тип колонки должен быть вычисляемым.
 К примеру: есть таблица с колонками "цена" и "кол-во". Нужно добавить колонку, в которой будет отображаться сумма каждой записи.
 Для отображения таблицы использую компоненты DataSource и TTable.
 Слышал что есть возможность добавить колонку через запрос, при этом используя TQuery вместо TTable, но не знаю как это реализовать.
 Подскажите пожалуйста, как это можно сделать, желательно с примерами...


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


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

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



Ну так выбери сразу запросом в грид эту сумму. Что-то вроде того:
Код

select price, kolvo, price*kolvo as summa from table



--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
drenthe
Дата 17.12.2011, 22:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Данкинг, Сори, тип колонки не вычисляемый а вещественный.
Насчёт запроса, поменять ttable на tquery и сделать запрос ??
PM MAIL   Вверх
Данкинг
Дата 17.12.2011, 23:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

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



Цитата(drenthe @  17.12.2011,  23:52 Найти цитируемый пост)
Сори, тип колонки не вычисляемый а вещественный.

Какая разница-то в данном случае.
Цитата(drenthe @  17.12.2011,  23:52 Найти цитируемый пост)
Насчёт запроса, поменять ttable на tquery и сделать запрос ?? 

Разумеется.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
drenthe
Дата 19.12.2011, 01:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Данкинг, добавление получилось.
Код

Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('select ID,cena,kolvo, cena*kolvo As Summa from baza');
Query1.open;


Как теперь удалить колонку??
PM MAIL   Вверх
Данкинг
Дата 19.12.2011, 12:03 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

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



Код

Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('alter table baza drop column cena');
Query1.ExecSQL;



--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
drenthe
Дата 20.12.2011, 20:56 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Данкинг, спасибо! smile 
PM MAIL   Вверх
drenthe
Дата 21.12.2011, 19:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Появился новый вопрос.
Необходимо добавить в dbgrid по нажатию кнопки колонку из физической бд, при этом значения колонки чтобы были отформатированы.
Добавляй колонку при помощи такой кнопки:
Код

query1.close;
query1.sql.Clear;
query1.SQL.Add('select cena from asd');
query1.Open;


Как в этой кнопке добавить запрос на форматирование значений колонки?

Или же по другому.
Как добавить колонку из физ. бд через ttable в dbgrid?
Форматирование сделаю к примеру так:
Код

Table1Cena.DisplayFormat:='#.##';

А как добавить не знаю...
PM MAIL   Вверх
Данкинг
Дата 21.12.2011, 21:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

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



У query1 же тоже колонки есть. В данном случае - cena.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
drenthe
Дата 21.12.2011, 21:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Данкинг, сейчас у меня два грида на форме. Один отображает таблицу через Ttable, а другой связан с query, но query не активен, т.е. таблица не отображается во втором гриде.
Я просто добавляю туда колонку через запрос и теперь нужно её удалить оттуда (но не удалить из физ. бд).
PM MAIL   Вверх
Данкинг
Дата 21.12.2011, 22:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

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



Цитата(drenthe @  21.12.2011,  22:38 Найти цитируемый пост)
Я просто добавляю туда колонку через запрос и теперь нужно её удалить оттуда (но не удалить из физ. бд). 

При чём здесь форматирование тогда? Ну, сделай колонке .Visible:=False.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
drenthe
Дата 21.12.2011, 22:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(Данкинг @  21.12.2011,  22:02 Найти цитируемый пост)
При чём здесь форматирование тогда? Ну, сделай колонке .Visible:=False.


Просто у меня такое задание: добавить колонку с форматированием и потом удалить её.
Visible:=False. к сожалению не подходит...
PM MAIL   Вверх
Данкинг
Дата 21.12.2011, 22:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

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



Тогда поищи опытным путём методы удаления колонок из грида. Я, честно говоря, с таким не сталкивался.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

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


 




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


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

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