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

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

SpinButton


Страницы:   1 2

SpinButton ©   (2008-09-17 23:27:00) 

Киньте плиз пример работы со SpinButton, чтобы при нажатии на кнопку SpinButton, в Edit значение увеличивалось на 1 или уменьшалось на 1 соответственно, в записимости от нажатой кнопки, вверх/вниз.


Германн   (2008-09-18 00:57:00) [1]


> Кстати, если нажать на спинбутон и держать, то событие наверняка
> будет генерироваться одно за другим.... ужасно :) ....постоянная
> смена состояния датасета....
>

Вот и я об том же. :)
> {RASkov} ©   (18.09.08 00:49) [22]
>
> Автор, замени ДБЭдит обычным, "прикрути" к нему ТАпДаун,
>  а в базу заноси при окончательном решении сколько нужно
> сделать +(-)1 для значения, т.е. после ввода его полностью.
>

Да и это на фиг. Если нужно менять значение поля строго на единицу, то не надо давать пользователю возможность сделать неправильный ввод. А если не надо, обычный DBEdit решит все проблемы.


{RASkov}   (2008-09-18 00:49:00) [2]

Автор, замени ДБЭдит обычным, "прикрути" к нему ТАпДаун, а в базу заноси при окончательном решении сколько нужно сделать +(-)1 для значения, т.е. после ввода его полностью... Может быть на ОнЭксит или еще как... не забудь про то, что ОнЭксит может и не произойти, ну не будет пользователь фокус убирать....


{RASkov}   (2008-09-18 00:43:00) [3]

> Изменять значение поля в базе на +1 или -1.

:)

> А на кой фиг нужен такой компонент?

Действительно...)

Кстати, если нажать на спинбутон и держать, то событие наверняка будет генерироваться одно за другим.... ужасно :) ....постоянная смена состояния датасета....


Германн   (2008-09-18 00:36:00) [4]

Не ну. А на кой фиг нужен такой компонент? Изменять значение поля в базе на +1 или -1.
Неисповедимы твои пути, господь! (Или это проделки Сатаны? :)


{RASkov}   (2008-09-18 00:16:00) [5]

> [13] SpinButton   (18.09.08 00:04)
> У компонента DataSource нет DataSetIntPole

Интересно, а что тебя подвигло искать это "все дело" именно у DataSource ?
Этж просто компонент связи, у него вообще практически ничего нет :)

> [18] SpinButton   (18.09.08 00:14)

Фух... :)


SpinButton   (2008-09-18 00:14:00) [6]

Всё, сделал с SpinEdit как надо и значения в базе изменяет, спасибо большое


{RASkov}   (2008-09-18 00:12:00) [7]

> [14] KilkennyCat ©   (18.09.08 00:06)

И что самое интересно, так это то, как он нашел и добрался до действительного значения(свойства) DataSet :)))


{RASkov}   (2008-09-18 00:10:00) [8]

> [14] KilkennyCat ©   (18.09.08 00:06)

:) Да уж...) Ничё, прорвёмся)


{RASkov}   (2008-09-18 00:09:00) [9]

> [13] SpinButton   (18.09.08 00:04)

:)
Конечно нет... Это я его придумал, а точнее ты)
Ищи у себя как он там называется)
Поле, которое связано с ДБЭдитом, в котором тебе хочется менять значения....
Если он у тебя не присутствует в паблишед формы, то как-нибудь так FieldByName или еще как-нибудь так....


KilkennyCat   (2008-09-18 00:06:00) [10]


> {RASkov}

Ну, что, наизобретал новых терминов? :)


SpinButton   (2008-09-18 00:04:00) [11]

У компонента DataSource нет DataSetIntPole
Пишу:
DataModele2.DataSource.DataSet.Edit;
DataModele2.DataSource.DataSetIntPole.Value:= DataSetIntPole.Value + 1;
DataModele2.DataSet.Post;

Выводит ошибку на DataModele2.DataSource.DataSetIntPole.Value:= DataSetIntPole.Value + 1; - нету DataSetIntPole


{RASkov}   (2008-09-17 23:54:00) [12]

Например:
procedure TForm1.SpinButton1UpClick(Sender: TObject);
begin
 DataSet.Edit;
 DataSetIntPole.Value:= DataSetIntPole.Value + 1;
 DataSet.Post;
end;

procedure TForm1.SpinButton1DownClick(Sender: TObject);
begin
 DataSet.Edit;
 DataSetIntPole.Value:= DataSetIntPole.Value - 1;
 DataSet.Post;
end;


{RASkov}   (2008-09-17 23:52:00) [13]

> [10] SpinButton   (17.09.08 23:50)

Да не нужны тебе эдиты... они "только" для визуализации данных....
Тебе подойдет любой компонент.... хоть просто TButton только работай с данными в датасете напрямую, а не через Эдиты...


SpinButton   (2008-09-17 23:50:00) [14]

потому что DBEdit привязан к таблице и по изменении значения в DBEdit, меняется значение в таблице, если сделать изменение по SpinButton, то значение будет меняться в DBEdit, но не в таблице, а надо чтобы и в таблице тоже, видимо при данном способе реализации, который пердложил Raskov не происходит тех обработчиков событий, которые происходят при прямом скажем вбивании значения в DBEdit.


{RASkov}   (2008-09-17 23:50:00) [15]

> > ручками,например. как я написал выше.
>
> Только не совсем так, но ты сам виноват, задав так вопрос.

Гы... не я, а [2] :)
Цитата у меня вышла не удачно :(


{RASkov}   (2008-09-17 23:48:00) [16]

> [5] SpinButton   (17.09.08 23:43)

> ручками,например. как я написал выше.

Только не совсем так, но ты сам виноват, задав так вопрос.
Тебе нужно не с (Дб)Эдитами оперировать, а с данными датасета....


KilkennyCat   (2008-09-17 23:47:00) [17]

А если спидбатон "цепляет", то что тогда от него так сразу-то отказаться-то? Raskov ведь дал ответ.


KilkennyCat   (2008-09-17 23:45:00) [18]

ручками,например. как я написал выше.

Оффтоп: блин, вот я всегда считал, что работа с DB - это предполагает, что все остальное уже известно...


SpinButton   (2008-09-17 23:43:00) [19]

Да, нашёл TUpDown, но он цепляется с Edit, но не цепляется с DBEdit, почему? И как их можно соединить?


{RASkov}   (2008-09-17 23:41:00) [20]

И вот ведь найдут ведь себе геморой-то....
Из кучи готовых решений выберут самое не подходящее... как например в Мемо цветные строки или связку спинбутон и эдит :)


Страницы:   1 2

Наверх

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