![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Получение значения редактируемого поля в DBGrid [D6, MSSQL]
needle © (2003-06-02 14:56:00)При редактировании поля в DBGrid как получить вводимое значение, пока оно еще не отправлено в буфер записи, иначе говоря отловить событие аналогичное OnChange TEdit и выполнить какое-то действие, например произвести инкрементный поиск, отфильтровать LookupDataSet.
Dred2k (2003-06-02 21:16:00) [1]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 не пробовал? Говорят - помогает (эт насчет последней строчки читаты).
А так одно - когда эмоций много, тогда Ленинград отдыхает ;)
Только так вопросы обсуждать сложно.
(насчет результата изысканий постуй тчк).
Anatoly Podgoretsky (2003-06-02 20:13:00) [2]Кажется ты перепутал платную службу поддержки с форумом.
needle (2003-06-02 18:03:00) [3]да мляха, на х.. все эти китайские церемонии? я спрашивал о DBGrid, понеслась дискуссия о DBEdit, одернул немного. тогда уж отдельный топик заводите, что лучше - ап или даун :-))
Mike Kouzmine (2003-06-02 17:23:00) [4]procedure TForm1.DBGridEh1KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
Label1.Caption := DBGridEh1.InplaceEditor.EditText;
end;
Так проще. Но вежливости поучиться немешало бы. Что есть, то есть.
needle (2003-06-02 17:21:00) [5]все, нашел, епт :-)
DBGrid.InPlaceEditor.OnChange:=MyMethod(Sender: TObject);
и там творю что хочу с DBGrid.InPlaceEditor.Text
:-)
Mike Kouzmine (2003-06-02 17:16:00) [6]Прошу прощения. Это DBGrid. Путаю педали :)
Mike Kouzmine (2003-06-02 17:11:00) [7]Соловьев © (02.06.03 16:31) Я сам не понял, пока не попробовал.
Когда на даун - кей не добален, когда на ап - добавлен.
Пример: на OnKeyUp делаешь Label1.Caption := DBEdit1.Text;, то все окейно.
Sandman25 (2003-06-02 16:45:00) [8]Danilka
Обратите внимание на needle © (02.06.03 16:01)
Все же просто должны быть благодарными ему, за то что он выслушивает их советы...
needle (2003-06-02 16:38:00) [9]-> Danilka
что вы, что вы, как можно, конешно, пожалуйста, заранее спасибо ;-)
Danilka (2003-06-02 16:35:00) [10]needle © (02.06.03 16:31)
Дружище, тебя что, мама с папой не учили, что когда кого-нибудь просишь о чем-либо, надо говорить "пожалуйста" и "спасибо", а не как "Вы обкурились что-ли"?
needle (2003-06-02 16:34:00) [11]-> NAlexey
наконец-то именно то что я хотел услышать :-)
теперь дело за малым - как получить этот InPlaceEditor, в каком свойстве DBGrid он хранится?
Соловьев (2003-06-02 16:31:00) [12]
> Это был намек и все уже поняли, что надо обрабатывать Up,
> а не даун.
а какая разница? результат один и тот же. или я в конце дня вообще не пойму ..... :)
needle (2003-06-02 16:31:00) [13]> Mike Kouzmine Соловьев
Вы обкурились что-ли? в DBEdit все просто - onchange и читаем свойство Text или EditText.
Вы лучше подумайте над моим вопросом
Mike Kouzmine (2003-06-02 16:27:00) [14]Это был намек и все уже поняли, что надо обрабатывать Up, а не даун.
Соловьев (2003-06-02 16:25:00) [15]
> Mike Kouzmine © (02.06.03 16:23
мы получим ляляля + то что нажимали, а не лял + то что нажимали + яля. Так или я что-то дегононяю, что возможно :)))
Mike Kouzmine (2003-06-02 16:23:00) [16]Соловьев © (02.06.03 16:21) Ты будешь смеяться, но "ляляля"
Соловьев (2003-06-02 16:21:00) [17]
> Mike Kouzmine © (02.06.03 16:13
не не из-за политических :)))
при желании можно и текстовый редактор написать:)
набираемляляля|, курсор в конце, потом мышкой ставимлял|яля, что получим если начнем нажимать кнопочки?
NAlexey (2003-06-02 16:19:00) [18]Обрабатывай события InplaceEditor. Это как раз то что тебе надо.
Mike Kouzmine (2003-06-02 16:13:00) [19]Соловьев © (02.06.03 16:10) Поставь провеку печ. символов + учет упр. символов и все. Правда если это мучительно из-за политических убеждений, то тогда не знаю.
needle (2003-06-02 16:11:00) [20]млях
поставлю вопрос по-другому:
в DBGrid отображается некая таблица. при редактировании записи или вводе новой строки вываливается DropDownBox, где отображуется другая табличка. так вот, при вводе символов в поле, например пользователь нажал "1" - показывались записи начинаещиеся с "1", нажал далее "2" - записи с "12". как это сделать?