Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.06.26;
Скачать: [xml.tar.bz2];

Вниз

Получение значения редактируемого поля в DBGrid   Найти похожие ветки 

 
needle   (2003-06-02 14:56) [0]

При редактировании поля в DBGrid как получить вводимое значение, пока оно еще не отправлено в буфер записи, иначе говоря отловить событие аналогичное OnChange TEdit и выполнить какое-то действие, например произвести инкрементный поиск, отфильтровать LookupDataSet.


 
Mike Kouzmine   (2003-06-02 15:04) [1]

onchange - onvalidate - onsettext


 
needle   (2003-06-02 15:50) [2]

мляха, onchange - onvalidate - onsettext это методы TField и срабатывают перед отправкой данных в буфер, т.е. когда уже отредактированы в DBGrid. а мне нужно получить эти данные при редактировании, на лету.


 
Mike Kouzmine   (2003-06-02 15:55) [3]

onKeyPress, onKeyDown


 
Соловьев   (2003-06-02 15:58) [4]


> needle © (02.06.03 15:50)

откажысь от DBEdit и сделай все с Edit


 
needle   (2003-06-02 16:01) [5]

onkeypress? ну ладно. тогда скажи где находится это редактируемый техт?


 
Mike Kouzmine   (2003-06-02 16:07) [6]

DBEdit.Text + Key


 
Mike Kouzmine   (2003-06-02 16:08) [7]

А вообще, если ты все знаешь, то что спрашивать?


 
Соловьев   (2003-06-02 16:10) [8]


> Mike Kouzmine © (02.06.03 16:07)
> DBEdit.Text + Key

не очень хорошо, так как для редактирования прийдется очень помучаться...


 
needle   (2003-06-02 16:11) [9]

млях
поставлю вопрос по-другому:
в DBGrid отображается некая таблица. при редактировании записи или вводе новой строки вываливается DropDownBox, где отображуется другая табличка. так вот, при вводе символов в поле, например пользователь нажал "1" - показывались записи начинаещиеся с "1", нажал далее "2" - записи с "12". как это сделать?


 
Mike Kouzmine   (2003-06-02 16:13) [10]

Соловьев © (02.06.03 16:10) Поставь провеку печ. символов + учет упр. символов и все. Правда если это мучительно из-за политических убеждений, то тогда не знаю.


 
NAlexey   (2003-06-02 16:19) [11]

Обрабатывай события InplaceEditor. Это как раз то что тебе надо.


 
Соловьев   (2003-06-02 16:21) [12]


> Mike Kouzmine © (02.06.03 16:13

не не из-за политических :)))
при желании можно и текстовый редактор написать:)

набираем ляляля|, курсор в конце, потом мышкой ставим лял|яля, что получим если начнем нажимать кнопочки?


 
Mike Kouzmine   (2003-06-02 16:23) [13]

Соловьев © (02.06.03 16:21) Ты будешь смеяться, но "ляляля"


 
Соловьев   (2003-06-02 16:25) [14]


> Mike Kouzmine © (02.06.03 16:23

мы получим ляляля + то что нажимали, а не лял + то что нажимали + яля. Так или я что-то дегононяю, что возможно :)))


 
Mike Kouzmine   (2003-06-02 16:27) [15]

Это был намек и все уже поняли, что надо обрабатывать Up, а не даун.


 
needle   (2003-06-02 16:31) [16]

> Mike Kouzmine Соловьев
Вы обкурились что-ли? в DBEdit все просто - onchange и читаем свойство Text или EditText.
Вы лучше подумайте над моим вопросом


 
Соловьев   (2003-06-02 16:31) [17]


> Это был намек и все уже поняли, что надо обрабатывать Up,
> а не даун.

а какая разница? результат один и тот же. или я в конце дня вообще не пойму ..... :)


 
needle   (2003-06-02 16:34) [18]

-> NAlexey
наконец-то именно то что я хотел услышать :-)
теперь дело за малым - как получить этот InPlaceEditor, в каком свойстве DBGrid он хранится?


 
Danilka   (2003-06-02 16:35) [19]

needle © (02.06.03 16:31)
Дружище, тебя что, мама с папой не учили, что когда кого-нибудь просишь о чем-либо, надо говорить "пожалуйста" и "спасибо", а не как "Вы обкурились что-ли"?


 
needle   (2003-06-02 16:38) [20]

-> Danilka
что вы, что вы, как можно, конешно, пожалуйста, заранее спасибо ;-)


 
Sandman25   (2003-06-02 16:45) [21]

Danilka
Обратите внимание на needle © (02.06.03 16:01)
Все же просто должны быть благодарными ему, за то что он выслушивает их советы...


 
Mike Kouzmine   (2003-06-02 17:11) [22]

Соловьев © (02.06.03 16:31) Я сам не понял, пока не попробовал.
Когда на даун - кей не добален, когда на ап - добавлен.
Пример: на OnKeyUp делаешь Label1.Caption := DBEdit1.Text;, то все окейно.


 
Mike Kouzmine   (2003-06-02 17:16) [23]

Прошу прощения. Это DBGrid. Путаю педали :)


 
needle   (2003-06-02 17:21) [24]

все, нашел, епт :-)
DBGrid.InPlaceEditor.OnChange:=MyMethod(Sender: TObject);
и там творю что хочу с DBGrid.InPlaceEditor.Text
:-)


 
Mike Kouzmine   (2003-06-02 17:23) [25]

procedure TForm1.DBGridEh1KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
Label1.Caption := DBGridEh1.InplaceEditor.EditText;
end;
Так проще. Но вежливости поучиться немешало бы. Что есть, то есть.


 
needle   (2003-06-02 18:03) [26]

да мляха, на х.. все эти китайские церемонии? я спрашивал о DBGrid, понеслась дискуссия о DBEdit, одернул немного. тогда уж отдельный топик заводите, что лучше - ап или даун :-))


 
Anatoly Podgoretsky   (2003-06-02 20:13) [27]

Кажется ты перепутал платную службу поддержки с форумом.


 
Dred2k   (2003-06-02 21:16) [28]

2needle

Обрати внимание на OnChange у TField в купе с:

Represents the original value of the field (as a Variant).

property OldValue: Variant;

Description

Read the OldValue property to examine or retrieve the original value of the field that was obtained from the dataset before any new values were written to the record buffer. For example, this code replaces current pending changes with a field’s original value:

NewValue := OldValue;

Once records are posted successfully, the old field value cannot be retrieved.

Note: Cached updates must be enabled.


CachedUpdates не пробовал? Говорят - помогает (эт насчет последней строчки читаты).

А так одно - когда эмоций много, тогда Ленинград отдыхает ;)
Только так вопросы обсуждать сложно.

(насчет результата изысканий постуй тчк).



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2003.06.26;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.5 MB
Время: 0.03 c
7-84765
Hamel1on
2003-04-15 11:55
2003.06.26
Как сделать программу службой в Win2k?


14-84530
Vulko
2003-06-06 11:53
2003.06.26
Оцените, плз, сайт.


14-84678
k@rt
2003-06-08 23:11
2003.06.26
98 + Mouse


1-84183
Dwemer_
2003-06-11 16:20
2003.06.26
Ошибка при создании методом TStrings.Create


14-84720
killer
2003-06-05 15:44
2003.06.26
Иконка в избранном





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский