Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Чекбокс в DBGrid


нуб ©   (2009-02-13 10:31:00) 

Добрый день!

Есть БД с таблицами "Покупатель", "Вид счета", "Настройки_Покупатель_вид_счета".

Покупатель:
ИД_Покупатель,
Название,
.....

Вид счета:
ИД_Вид_счета,
Название,
....
Настройки_Покупатель_Вид_счета:
ИД_Настройки_Покупатель_Вид_счета,
ИД_Покупатель,
ИД_Вид_счета,
выставлять счет
....

Если покупателю выставляется данный вид счета, то в таблице "Настройки_Покупатель_Вид_счета" есть запись с полем "выставлять счет"=1. Если счет выставлять не надо, то либо записи нет, либо "выставлять счет"=0.

Пользователь должен просто и быстро настраивать - выставлять этому покупателю такой вид счета или нет.

Как реализовать такой интерфейс пользователя:

Таблица:

Имя покупателя | Вид счета | выставлять
строка                 строка       чекбокс


Чекбок должен быть отмечен, если ссчет выставляется.
При снятии или установки чекбокса выполняется процедура, которая в зависимости от параметра создает или обновляет запись в таблице "Настройки_Покупатель_Вид_счета".

как сделать такой чекбокс? как лучше организовать обновление данных в гриде?

(естественно будет 2 варианта - "маленькая форма" с начтройками только для данного покупателя и "большая форма" с начтройкой по всему списку покупателей).


Palladin   (2009-02-13 10:55:00) [1]

Событий выше крыши. DataController.OnDataChanged например. Трудно изучить собфтия TcxGrid[DB]TableView ?


нуб   (2009-02-13 10:53:00) [2]


> Palladin ©   (13.02.09 10:46) [6]
> Галочка делается вставлением свойства колонки Properties
> в CheckBox.


Это я знаю...


> ЗЫ: Щас придет Ганз и опять сровняет меня с плинтусом насчет
> "гридного редактирования". 8-)

Думаю, здесь не получится гридного редактирования.

Запрос данных такой

select
"Покупатель".Ид_Покупатель,
"Покупатель".Название,
Настройки_Покупатель_Вид_счета.ИД_Настройки_Покупатель_Вид_счета,
Настройки_Покупатель_Вид_счета.выставлять
from
 Вид_счета, Покупатель left join Настройки_Покупатель_Вид_счета
on(  Настройки_Покупатель_Вид_счета.ИД_Покупатель
      and Настройки_Покупатель_Вид_счета.Ид_вид_счета= :пураметер
   )

При выставлении или снятии чекбокса должна вызываться хранимка, которая делает все что надо.

На какое событие лучше повесить её вызов и как лучше обновлять данные опосля?


Palladin   (2009-02-13 10:46:00) [3]

Галочка делается вставлением свойства колонки Properties в CheckBox.


Sergey13   (2009-02-13 10:43:00) [4]

> [2] нуб   (13.02.09 10:40)
> забыл написать грид - cxGrid

Ну нифига себе ты забыл!
А в нем что - галочек нет?
Не верю. (с)


Sergey13   (2009-02-13 10:42:00) [5]

> [0] нуб   (13.02.09 10:31)
> как сделать такой чекбокс? как лучше организовать обновление данных в гриде?

Как эти вопросы связаны друг с другом?

Насчет чеков.
Есть библионека EhLib, до верссии 4 она бесплатна и с исходниками. Там реализован такой грид. Поищи и посмотри реализацию, или просто используй - хорошая библиотека.

Насчет обновления грида. Работай с датасетом, который этот грид отображает и ничего обновлять не надо будет.

ЗЫ: Щас придет Ганз и опять сровняет меня с плинтусом насчет "гридного редактирования". 8-)


нуб   (2009-02-13 10:41:00) [6]


> Johnmen ©   (13.02.09 10:37) [1]
> http://www.delphikingdom.com/asp/viewitem.asp?catalogid=168&mode=print#link6


но тогда мне надо будет при обновлении данных вручную выставлять вычислимое поле?


нуб   (2009-02-13 10:40:00) [7]

забыл написать грид - cxGrid


Johnmen   (2009-02-13 10:37:00) [8]

http://www.delphikingdom.com/asp/viewitem.asp?catalogid=168&mode=print#link6


Наверх

Титульная страница Поиск, карта сайта Написать письмо