Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > Ввод и вычисление значений при помощи StringGrid


Автор: Leshik 19.4.2007, 13:35
Всем привет!
Подскажите пожалуйста как можно реализовать такую штуку.
У меня есть StringGrid с 4 столбцами, мне надо сделать так, чтобы  в первые три я мог вносить свои числа, а в четвёртый был бы защищен от ввода, в нём выводилось бы значение, вычисляемой по какой-то формуле, в которой присутствуют значения из первых трёх столбцов( например после того как закончу ввод в первые три столбца)

И ещё, я конечно понимаю, что такой вопрос задавался уже ( но в тех темах я нашёл только исходники на Delphi), но как сделать многострочные заголовки, когда строка не умещается в ячейке.

Прошу прощения у модераторов.
Надо было создать эту тему в разделе Borland C++ Builder.  =(

Автор: ura5 19.4.2007, 14:09
Я так делал.Пользовался SQL-запросом.
Выбирал  2 таблицы на ORACLE ,создавал запрос (пользовался ADOQUERY).
select tel,koef,oplata,nds,fio from tabl1,tabl2 where id1=id2

ЗАПРЕТ НА КОРРЕКТИРОВКУ 4-го столбца:
********
  if (DBGrid1->Columns->Items[3]->FieldName=="NDS"  )
 { DBGrid1->Columns->Items[3]->ReadOnly=true;  } 
********
т.е. СТАВИТЕ ReadOnly=true того столбца,который не корректируется.


Автор: ama_kid 19.4.2007, 16:19
Для недопущения редактирования определенных клеток StringGrid'а используй его событие OnSelectCell - ему там передается параметр CanSelect, устанавливая его в false ты запретишь даже выделение этого столбца... Ну а уж обработку информации вешай на любое необходимое тебе событие - хоть по KeyPress, хоть по Click на кнопке...

Автор: Leshik 19.4.2007, 18:26
Спасибо. С блокировкой ввода разобрался. =)

А про многострочные заголовки можно примерчик smile 
Пожалуйста.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)