|
|
|
cxGrid + cxmemTable + datasource + TcxGridDBTableView
|
|||
|---|---|---|---|
|
#18+
Хочу при редактировании грида в определенных колонках записать в грид в другую колонку данные. Есть событие при редактировании данных и в нем это можно это сделать. Код: pascal 1. 2. 3. 4. 5. 6. Но хотелось бы другое событие, потому как это срабатывает при каждом нажатии клавиши, а лучше то, которое после валидации данных происходит. т.е. закончено редактирование. В общем хочу, что бы при редактировании колонок с именами FieldName "Address", "NameUser", "Company" я мог записать в колонку "Infouser" мог записать текстовую информацию и она сохранилась в MemData и отобразилась в Grid. Не знаю как в текущей записи изменить данные в гриде или MemData ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2020, 01:22 |
|
||
|
cxGrid + cxmemTable + datasource + TcxGridDBTableView
|
|||
|---|---|---|---|
|
#18+
А причем тут грид? OnBeforePost ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2020, 01:49 |
|
||
|
cxGrid + cxmemTable + datasource + TcxGridDBTableView
|
|||
|---|---|---|---|
|
#18+
white_nigger А причем тут грид? OnBeforePost А при чем тут OnBeforePost. Возникает только когда добавляется новая строка. А мне надо при редактировании конкретной колонки причем при редактировании именно пользователем менять значение другой колонки. OnAfterEdit то же не подходит. Возникает только при начале редактировании записи и при редактировании другой колонки этой же записи уже не работает. Хотя это и логично. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2020, 13:30 |
|
||
|
cxGrid + cxmemTable + datasource + TcxGridDBTableView
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2020, 13:45 |
|
||
|
cxGrid + cxmemTable + datasource + TcxGridDBTableView
|
|||
|---|---|---|---|
|
#18+
О спасибо. Понял теперь как поля присваивать. Часть задачи решено. Теперь бы узнать в какой колонке это произошло. И еще вот проблема Post возникает при переключении на другую запись. А если пользователь перейдет на соседнию колонку этой же записи, то это событие не произойдет. Edti так же работает. Поэтому и смотрел в сторону грида, там есть больше событий и какое-то должно подойти. В других компонентах я использовал событие onValidate оно возникало, если пользователь отредактировал данные и закончил их редактировании к конкретной колонке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2020, 14:01 |
|
||
|
cxGrid + cxmemTable + datasource + TcxGridDBTableView
|
|||
|---|---|---|---|
|
#18+
Jonnik И еще вот проблема Post возникает при переключении на другую запись. А если пользователь перейдет на соседнию колонку этой же записи, то это событие не произойдет. Переход на другую колонку не есть окончание редактирования. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2020, 14:25 |
|
||
|
cxGrid + cxmemTable + datasource + TcxGridDBTableView
|
|||
|---|---|---|---|
|
#18+
Варианты 1. View.OnEditValueChanged 2. в View.OnFocusedItemChanged проверять состояние Датасета ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2020, 14:32 |
|
||
|
cxGrid + cxmemTable + datasource + TcxGridDBTableView
|
|||
|---|---|---|---|
|
#18+
Jonnik еще вот проблема Post возникает при переключении на другую запись. А если пользователь перейдет на соседнию колонку этой же записи, то это событие не произойдет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2020, 15:42 |
|
||
|
cxGrid + cxmemTable + datasource + TcxGridDBTableView
|
|||
|---|---|---|---|
|
#18+
Jonnik В общем хочу, что бы при редактировании колонок с именами FieldName "Address", "NameUser", "Company" я мог записать в колонку "Infouser" мог записать текстовую информацию В смысле, нужен просто-напросто Calculated field? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2020, 16:09 |
|
||
|
cxGrid + cxmemTable + datasource + TcxGridDBTableView
|
|||
|---|---|---|---|
|
#18+
Начнем с начала. Я нахожусь в гриде. Меняю значение какого-то поля. Если имя поля "User", а не любое другое, то я хочу в этой же записи в поле "AddInfo" добавить служебную информацию, просто какой-то текст. Вот и все. И это должно произойти когда я после редактирования перешел в другую ячейку грида или фокус с грида ушел. Т.е. тогда когда я завершил редактирование ячейки. Не в момент начала, не во время, а именно в конце редактирования. Это не поле Calculated field. События Post, Edit не подходят потому как если ты остался в этой же записи, то ничего не произходит при повторных изменениях данных. EditChanged срабатывает при вводе любого символа, а это вызов процедуры ненужное количество раз. tdatasource.ondatachange возникае при добавлении новый записи, при попытке редактировать, при самом редактировании. А это потребует добавления всяких проверок, что бы по 100 раз не возникали не нужные события. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2020, 17:01 |
|
||
|
cxGrid + cxmemTable + datasource + TcxGridDBTableView
|
|||
|---|---|---|---|
|
#18+
Jonnik EditChanged срабатывает при вводе любого символа. OnEditValueChanged ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2020, 23:17 |
|
||
|
cxGrid + cxmemTable + datasource + TcxGridDBTableView
|
|||
|---|---|---|---|
|
#18+
Jonnik Если имя поля "User", а не любое другое, то я хочу в этой же записи в поле "AddInfo" добавить служебную информацию, просто какой-то текст. Вот и все. Jonnik Это не поле Calculated field. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2020, 00:11 |
|
||
|
cxGrid + cxmemTable + datasource + TcxGridDBTableView
|
|||
|---|---|---|---|
|
#18+
Jonnik tdatasource.ondatachange возникае при добавлении новый записи, при попытке редактировать, при самом редактировании. А это потребует добавления всяких проверок, что бы по 100 раз не возникали не нужные события ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2020, 08:34 |
|
||
|
cxGrid + cxmemTable + datasource + TcxGridDBTableView
|
|||
|---|---|---|---|
|
#18+
Jonnik я хочу в этой же записи в поле "AddInfo" добавить служебную информацию, просто какой-то текст. Вот и все. Именно добавить? То есть что-то типа лога, если десять раз поменять значение Вася -> Петя -> Вася -> Петя, то ляжет десять добавлений? Обычно такое делают на стороне сервера, в крайнем случае при сохранении (потому что не нужны промежуточные колебания - что было пока пользователь редактировал). Если нужны... тогда, пожалуй, действительно нужно садиться на события смены фокуса, а на событиях типа Changed копить информацию для них. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2020, 09:50 |
|
||
|
cxGrid + cxmemTable + datasource + TcxGridDBTableView
|
|||
|---|---|---|---|
|
#18+
DimaBr Jonnik EditChanged срабатывает при вводе любого символа. OnEditValueChanged Идеально подходит. Срабатывает именно тогда когда надо. Теперь как в этой функции узнать, что я сейчас отредактировал поле именно с именем "User" и если да, то как в поле "AddInfo" этой же записи добавить информацию к примеру текущее время (что бы понятнее было всем) Код: pascal 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2020, 12:10 |
|
||
|
cxGrid + cxmemTable + datasource + TcxGridDBTableView
|
|||
|---|---|---|---|
|
#18+
Jonnik Теперь как в этой функции узнать, что я сейчас отредактировал поле именно с именем "User" и если да, то как в поле "AddInfo" этой же записи добавить информацию к примеру текущее время (что бы понятнее было всем) Код: pascal 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2020, 12:20 |
|
||
|
cxGrid + cxmemTable + datasource + TcxGridDBTableView
|
|||
|---|---|---|---|
|
#18+
DimaBr Jonnik Теперь как в этой функции узнать, что я сейчас отредактировал поле именно с именем "User" и если да, то как в поле "AddInfo" этой же записи добавить информацию к примеру текущее время (что бы понятнее было всем) Код: pascal 1. 2. 3. 4. 5. Первое По AItem можно узнать, только Caption колонки, а мне надо FieldName колонки. В DataBinding там почему-то нет этого свойства. Второе. AItem это колонка текущая, а мне надо записать данные в другую колонку этой же записи. Не знаю как от сюда это сделать. Строго не судите, а только недавно начал изучать Dev. Много не понятно. . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2020, 13:19 |
|
||
|
cxGrid + cxmemTable + datasource + TcxGridDBTableView
|
|||
|---|---|---|---|
|
#18+
По AItem можно узнать, только Caption колонки, а мне надо FieldName колонки. В DataBinding там почему-то нет этого свойства. Код: pascal 1. 2. 3. 4. В общем случае Код: pascal 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2020, 13:41 |
|
||
|
cxGrid + cxmemTable + datasource + TcxGridDBTableView
|
|||
|---|---|---|---|
|
#18+
Код: pascal 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2020, 13:57 |
|
||
|
cxGrid + cxmemTable + datasource + TcxGridDBTableView
|
|||
|---|---|---|---|
|
#18+
Jonnik В DataBinding там почему-то нет этого свойства Jonnik недавно начал изучать Dev ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2020, 15:11 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39998307&tid=2038004]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
59ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
95ms |
get tp. blocked users: |
2ms |
| others: | 233ms |
| total: | 430ms |

| 0 / 0 |
