![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
SpinButton
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]И вот ведь найдут ведь себе геморой-то....
Из кучи готовых решений выберут самое не подходящее... как например в Мемо цветные строки или связку спинбутон и эдит :)