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

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

Каким образом выйти из режима редактирования? [D7, MSSQL]


Страницы:   1 2

denik ©   (2004-03-09 11:02:00) 

Я в ДБГриде редактирую запись, пишу
Edit;
Post;
А из режима редактирования не выхожу. Почему?


Германн   (2004-03-11 01:55:00) [1]

2 Anatoly Podgoretsky ©   (10.03.04 09:04) [30]

> Последний раз - Post

Да. "Ждём'с "первой звезды"!". А пока - пост! :))


Anatoly Podgoretsky   (2004-03-10 09:04:00) [2]

denik   (10.03.04 00:59) [27]
Последний раз - Post


KSergey   (2004-03-10 08:56:00) [3]

> denik   (10.03.04 00:59) [27]
> Люди, я всего лишь хотел узнать как кликая по полю с checkBox`ами
> подтвердить изменение значения этого поля? Например, представим
> DBGrid:
> Кликнул я по чекбоксу напротив ячейки Саша, значение поля
> Flag соответственно меняется на FALSE(в DBGrid`е!), но в
> БД оно не меняется, если, конечно, фокус остается в этой
> записи.

Я так и не пойму: вы код Vlad ©   (09.03.04 13:32) [15]пробовали? Не работает? Или что??
Правда, я бы несколько его изменил, если позволите:

if Column.FieldName='Нужное_поле' then Post;

Хотя тоже на скорую руку, может чего и путаю ;)


Германн   (2004-03-10 04:30:00) [4]

Что такое "поле с checkBox`ами"?
Что такое "чекбокс напротив ячейки Саша"?
Что такое "поле Flag"?


denik   (2004-03-10 00:59:00) [5]

Люди, я всего лишь хотел узнать как кликая по полю с checkBox`ами
подтвердить изменение значения этого поля? Например, представим
DBGrid:

Name  Flag
Саша  TRUE
Даша  TRUE
Миша  FALSE

Кликнул я по чекбоксу напротив ячейки Саша, значение поля Flag соответственно меняется на FALSE(в DBGrid`е!), но в БД оно не меняется, если, конечно, фокус остается в этой записи.

Естественно, если я перейду на другую запись, тогда всё отлично.


Vlad   (2004-03-09 14:59:00) [6]


> Janbolat ©   (09.03.04 14:49) [24]

Ты вопрос внимательно прочитай, человек не про это спрашивает, а про то как ему при изменении значения в DBGrid'e сразуотразить изменение в базе. Еще раз - причем тут комбобокс ?


VLAD-MAL   (2004-03-09 14:56:00) [7]

Интересно, что структура классов VCL оказывает негативное влияние на понимание начинающими программистов системы доступа к данным. Нет ощущения различия средств представления и хранения.  Может, они и правы, так должно быть, но такого нет...


Janbolat   (2004-03-09 14:49:00) [8]


> DenK_vrtz ©   (09.03.04 14:04) [19]
> >Janbolat ©   (09.03.04 13:58) [18]
> >не знаю будет ли рабоать
>
> не знаешь - не пиши!

а какая тебе разница

>
> Vlad ©   (09.03.04 14:05) [20]
>
> > Janbolat ©   (09.03.04 13:58) [18]
> > не знаю будет ли рабоать
> > > Vlad ©   (09.03.04 13:32) [15]
>
> Работать будет, возможно есть какие-то ляпы (писал не проверяя
> прямо тут). Однако ИМХО, это некорректно - писать в базу
> не давая юзеру возможности откатить изменения на клиенте.
> Сам бы я так делать не стал.
> "Такой хоккей нам не нужен" (с) кто-то из телекомментаторов
> :-)
>
> > попробуй использовать combobox
>
> А это тут причем ? Лучше уж CheckBox тогда, если поле boolean

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


DenK_vrtz   (2004-03-09 14:12:00) [9]

>sniknik ©   (09.03.04 14:10) [21]

ну подколол! а смысл? :)


Vlad   (2004-03-09 14:12:00) [10]


> sniknik ©   (09.03.04 14:10) [21]

Чтож теперь не высказываться чтоли ? :-)


sniknik   (2004-03-09 14:10:00) [11]

проедположение или совет чтото попробовать гораздо ценее высказывания вроде
DenK_vrtz ©   (09.03.04 13:21) [13]
ну это просто неоценимый вклад в дискуссию (в смысле ценность = 0 ;)


Vlad   (2004-03-09 14:05:00) [12]


> Janbolat ©   (09.03.04 13:58) [18]
> не знаю будет ли рабоать
> > Vlad ©   (09.03.04 13:32) [15]

Работать будет, возможно есть какие-то ляпы (писал не проверяя прямо тут). Однако ИМХО, это некорректно - писать в базу не давая юзеру возможности откатить изменения на клиенте. Сам бы я так делать не стал.
"Такой хоккей нам не нужен" (с) кто-то из телекомментаторов :-)

> попробуй использовать combobox

А это тут причем ? Лучше уж CheckBox тогда, если поле boolean


DenK_vrtz   (2004-03-09 14:04:00) [13]

>Janbolat ©   (09.03.04 13:58) [18]
>не знаю будет ли рабоать

не знаешь - не пиши!


Janbolat   (2004-03-09 13:58:00) [14]

не знаю будет ли рабоать
> Vlad ©   (09.03.04 13:32) [15]

но попробуй использовать combobox или что то типа такое
это будет лучше наверное


Anatoly Podgoretsky   (2004-03-09 13:42:00) [15]

очень просто может быть, вместо 123 вводим 1А3 при вводе получаем скандал.
Насчет добиться тебе уже несколько раз сказали, запись заносится методом POST


denik   (2004-03-09 13:36:00) [16]

>Anatoly Podgoretsky ©   (09.03.04 13:23) [14]

Недопустимых значений быть не может! Так я у вас никак не добьюсь каким образом сразу в БД занести значение.


Vlad   (2004-03-09 13:32:00) [17]


> denik   (09.03.04 13:17) [12]

Чушь конечно, но если очень надо, тогда в гриде на событие OnCellClick пишешь что-то вроде этого:
if Column.FieldName='Нужное_поле' then
begin
 with Column.Field.DataSet do
 begin
  if not(State in [dsEdit, dsInsert]) then Edit;
  FieldByName('Нужное_поле').AsBoolean:=not FieldByName('Нужное_поле').AsBoolean;
  Post;
  // Если была открыта транзакция - подтверждаем транзакцию.  
end;

Только имей ввиду - месть пользователей будет жестока.


Anatoly Podgoretsky   (2004-03-09 13:23:00) [18]

Это был бы ужас, запись при каждом изменении, без возможности отменить, а сколько ошибок выдаст драйвер для недопусимых значениях просто уму не постижимо. А действия по переходу обратно в режим редактирования, это как же надо не любить пользователя.
Запись заносится в таблицу (не БД) или методом POST или автоматически переходом на другую запись, при этом тоже вызывается POST


DenK_vrtz   (2004-03-09 13:21:00) [19]

>denik   (09.03.04 13:17) [12]

Если честно, то это глупость! ИМХО!


denik   (2004-03-09 13:17:00) [20]

> Vlad ©   (09.03.04 13:07) [11]
Оно меняется на FALSE. И моментально записывается в БД.


Страницы:   1 2

Наверх

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