|
|
|
TcxGrid.DataController не обновляет данные в связанном DataSet
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! Проблема странная - есть таблица cxGrid, при правке информации в ячейках таблицы через DataController (grLocal.DataController. Values[ARowInfo.RecordIndex,gr_Date.Index] := Date;) - в таблице всё изменяется и отображается прекрасно, но почему-то не изменяются данные в связанном Dataset и соответственно не происходит корректировки данных в БД... из-за чего может быть?? как исправить??? Какие должны быть настроены опции, чтобы DataController сам сразу после EndUpdate сам постил все изменения в Dataset??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2011, 12:38 |
|
||
|
TcxGrid.DataController не обновляет данные в связанном DataSet
|
|||
|---|---|---|---|
|
#18+
ошибка в 17ой строке ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2011, 16:50 |
|
||
|
TcxGrid.DataController не обновляет данные в связанном DataSet
|
|||
|---|---|---|---|
|
#18+
DataController.DataModeController.SyncMode? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2011, 17:40 |
|
||
|
TcxGrid.DataController не обновляет данные в связанном DataSet
|
|||
|---|---|---|---|
|
#18+
X11, опять прокладка виновата ........... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2011, 17:42 |
|
||
|
TcxGrid.DataController не обновляет данные в связанном DataSet
|
|||
|---|---|---|---|
|
#18+
Sergij GromovX11, опять прокладка виновата ...........Какая прокладка?! Ты о чём??? Виноват всегда Пушкин! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2011, 21:41 |
|
||
|
TcxGrid.DataController не обновляет данные в связанном DataSet
|
|||
|---|---|---|---|
|
#18+
Gator, прокладка которая между монитором и стулом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2011, 11:53 |
|
||
|
TcxGrid.DataController не обновляет данные в связанном DataSet
|
|||
|---|---|---|---|
|
#18+
авторDataController.DataModeController.SyncMode True авторошибка в 17ой строке опять прокладка виновата .... Какая прокладка?! Ты о чём??? Виноват всегда Пушкин! Ваш дешёвый пафос школьников совершенно не к месту, тк весь код выражается только одной строкой кода написанной в первом постинге, которая явно работает правильно - данные в таблице меняются как нужно, БОЛЬШЕ НИКАКОГО КОДА НЕТ. Далее работают лишь настройки объектов cxGrid и Dataset... сумеете осилить этот факт? Вопрос темы как раз и заключается в том - какие настройки объектов cxGrid/Dataset могут мешать синхронизации данных из cxGrid.DataController в Dataset ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2011, 12:05 |
|
||
|
TcxGrid.DataController не обновляет данные в связанном DataSet
|
|||
|---|---|---|---|
|
#18+
а чё сразу в dataset не пишите ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2011, 12:37 |
|
||
|
TcxGrid.DataController не обновляет данные в связанном DataSet
|
|||
|---|---|---|---|
|
#18+
Провёл такую проверку - откорректировал одну запись прямо в БД, а другую как написано выше в таблице через DataController.Values, затем проверил чему равен их Колонка.EditValue - оказывается для записи из БД всё верно, но для записи только что скорректированной кодом DataController.Values значение Колонка.EditValue=null ! То есть как будто даже в самой таблице эти данные-значения не изменились, а "только нарисовались в интерфейсе"... что за хрень может быть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2011, 12:40 |
|
||
|
TcxGrid.DataController не обновляет данные в связанном DataSet
|
|||
|---|---|---|---|
|
#18+
автора чё сразу в dataset не пишите ? Говорят, что если сразу в Dataset, то при изменении множества записей в таблице кодом курсор таблицы мигает и крутит таблицу... кроме того, после изменения в Dataset нужно обновлять таблицу. А так по цепочке через DataController таблицы -> Dataset -> DB наиболее логично было бы... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2011, 12:43 |
|
||
|
TcxGrid.DataController не обновляет данные в связанном DataSet
|
|||
|---|---|---|---|
|
#18+
Ещё интересное наблюдение - если в cxGrid.DataController поставить GridMode=True, то не только данные всё также не доходят до Dataset, но и вообще перестают отображаться в самой таблице... такое впечатление, что строка указанная в первом постинге вообще данные не изменяет... или же какие-то настройки cxGrid/Dataset не дают данным при изменении сохраниться (не Commit)...?? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2011, 12:55 |
|
||
|
TcxGrid.DataController не обновляет данные в связанном DataSet
|
|||
|---|---|---|---|
|
#18+
CodeFineавтора чё сразу в dataset не пишите ? Говорят, что если сразу в Dataset, то при изменении множества записей в таблице кодом курсор таблицы мигает и крутит таблицу... кроме того, после изменения в Dataset нужно обновлять таблицу. А так по цепочке через DataController таблицы -> Dataset -> DB наиболее логично было бы... как раз логично в dataset, а что б все работало нормально без морганий делаем так: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2011, 13:33 |
|
||
|
TcxGrid.DataController не обновляет данные в связанном DataSet
|
|||
|---|---|---|---|
|
#18+
Дело в том, что не всегда к одному Dataset только одна таблица, иногда 2-3-5-10 таблиц может быть связано с одним Dataset, но отображать разные данные или иметь разные фильтры, поэтому хотелось бы соблюдать логический порядок и не блокировать общий Dataset. Возможно, так и придётся сделать, но всё же хотелось бы решить проблему темы... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2011, 13:39 |
|
||
|
TcxGrid.DataController не обновляет данные в связанном DataSet
|
|||
|---|---|---|---|
|
#18+
проблема темы решается чтением хелпа :-) лично мое мнение что правильно - править источник данных а не грид ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2011, 13:57 |
|
||
|
TcxGrid.DataController не обновляет данные в связанном DataSet
|
|||
|---|---|---|---|
|
#18+
Ну так сделано в точности по примеру хелпа! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2011, 14:28 |
|
||
|
TcxGrid.DataController не обновляет данные в связанном DataSet
|
|||
|---|---|---|---|
|
#18+
Кроме того, если править в Dataset, то несколько усложняется поиск нужных для правки записей. Пример - в Dataset 100'000 записей, в таблице с помощью фильтрации отобразили только 1000 записей. Из них выделили 100 записей которые нужно изменить. Через DataController можно простым перебором ++1 изменить все эти записи подряд. Но чтобы это же сделать через Dataset - нужно через DataController узнавать ID каждой выделенной записи, затем искать этот ID среди всех 100'000 записей Dataset - что должно оказаться значительно дольше и вообще кривее, нежели просто "изменить следующую запись в DataControler". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2011, 14:50 |
|
||
|
TcxGrid.DataController не обновляет данные в связанном DataSet
|
|||
|---|---|---|---|
|
#18+
CodeFineили же какие-то настройки cxGrid/Dataset не дают данным при изменении сохраниться (не Commit)...??Нам отсюда твоих настроек не видно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2011, 14:50 |
|
||
|
TcxGrid.DataController не обновляет данные в связанном DataSet
|
|||
|---|---|---|---|
|
#18+
CodeFineчтобы это же сделать через Dataset - нужно через DataController узнавать ID каждой выделенной записи, затем искать этот ID среди всех 100'000 записей Dataset - что должно оказаться значительно дольше а как по твоему датаконтроллер их будет править? CodeFineи вообще кривее, нежели просто "изменить следующую запись в DataControler" добрый совет: по максимуму обходись ср-вами датасета и наоборот по минимуму используй девэксовую машинерию только там где без нее либо не обойтись совсем либо дорого ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2011, 14:53 |
|
||
|
TcxGrid.DataController не обновляет данные в связанном DataSet
|
|||
|---|---|---|---|
|
#18+
авторНам отсюда твоих настроек не видно. Ну а как я тебе покажу все настройки??? Считай, что всё дефолт, а теперь предположи что может влиять на проблему... автора как по твоему датаконтроллер их будет править? DataController согласно примеру: Код: pascal 1. 2. 3. 4. 5. правит значения ищя номер записи в DataController'е, то есть в описаном dsit примере ища положим 100-ю запись из 1000 отображённых записей. Тогда как для того, чтобы найти эту запись в Dataset - нужно сначала сделать тоже самое - найти эту запись в DataController, затем выяснить для этой записи некий ЗаписьID, и затем ещё искать его уже из 100'000 всех записей Dataset'а... разница есть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2011, 15:04 |
|
||
|
TcxGrid.DataController не обновляет данные в связанном DataSet
|
|||
|---|---|---|---|
|
#18+
CodeFineНу а как я тебе покажу все настройки???Кусок dfm? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2011, 15:08 |
|
||
|
TcxGrid.DataController не обновляет данные в связанном DataSet
|
|||
|---|---|---|---|
|
#18+
CodeFineНу а как я тебе покажу все настройки???С форматом dfm знаком? CodeFineСчитай, что всё дефолт, а теперь предположи что может влиять на проблему...Тарифы на телепатию резко возросли после кризиса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2011, 15:10 |
|
||
|
TcxGrid.DataController не обновляет данные в связанном DataSet
|
|||
|---|---|---|---|
|
#18+
CodeFineразница есть? ты не понял датаконтроллер связанный с датасетом в процессе редактирования в момент поста куда данные помещает? ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2011, 15:11 |
|
||
|
TcxGrid.DataController не обновляет данные в связанном DataSet
|
|||
|---|---|---|---|
|
#18+
авторС форматом dfm знаком?CodeFine Тарифы на телепатию резко возросли после кризиса. Видимо дело не в телепатии, а том, что вы понятия не имеете что может влиять на описанную проблему... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2011, 15:11 |
|
||
|
TcxGrid.DataController не обновляет данные в связанном DataSet
|
|||
|---|---|---|---|
|
#18+
автордатаконтроллер связанный с датасетом в процессе редактирования в момент поста куда данные помещает? ;) должен бы помещать в Dataset ;) думаю разработчики этих компонент не совсем дебилы, и cxGrid.DataController хранит для каждой отображаемой в таблице cxGrid записи некий номер этой записи в Dataset, то есть ему не нужно искать записи в Dataset по некоему ЗаписьID, как это придётся делать в случае самописного кода... если это не так - напишите, только с доказательствами и ссылками на источники. Или пример кода чтобы при правке в Dataset этого не требовалось... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2011, 15:16 |
|
||
|
TcxGrid.DataController не обновляет данные в связанном DataSet
|
|||
|---|---|---|---|
|
#18+
CodeFineдолжен бы помещать в Dataset ура CodeFineто есть ему не нужно искать записи в Dataset по некоему ЗаписьIDскажу больше: если у тебя не задан TcxDBDataController.KeyFieldNames то он не сможет твои изменения поместить в датасет CodeFineесли это не так - напишите, только с доказательствами и ссылками на источникидоказывать я тебе понятно ничего не собираюсь но в качестве ссылки можешь использовать например хелп, сорцы и здравый смысл CodeFineпример кода чтобы при правке в Dataset этого не требовалось не совсем то что тебе нужно вероятно но почерпнуть я думаю пригодится Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. CodeFineдумаю разработчики этих компонент не совсем дебилы а вообще ты о них слишком хорошего мнения. хотя конечно до дебилизма им далеко ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2011, 15:29 |
|
||
|
TcxGrid.DataController не обновляет данные в связанном DataSet
|
|||
|---|---|---|---|
|
#18+
vavanто он не сможет твои изменения поместить в датасет хотя возможно тут я погорячился и в случае отключенной синхронизации (кому бы оно только надо было в таком режиме) он возможно все же доберется до нужных записей играясь с букмарками ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2011, 15:49 |
|
||
|
TcxGrid.DataController не обновляет данные в связанном DataSet
|
|||
|---|---|---|---|
|
#18+
авторскажу больше: если у тебя не задан TcxDBDataController.KeyFieldNames то он не сможет твои изменения поместить в датасет Конечно задан. авторне совсем то что тебе нужно вероятно но почерпнуть я думаю пригодится Сложно почерпнуть из примера для C++ что-то нужно в Delphi... есть ли такой же пример для Delphi? Или пример кода чтобы при правке в Dataset не требовалось узнавать номер записи через DataController и курсор в таблице не скакал?... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2011, 15:56 |
|
||
|
TcxGrid.DataController не обновляет данные в связанном DataSet
|
|||
|---|---|---|---|
|
#18+
CodeFineКонечно задан тогда включай логику при включенной синхронизации датаконтроллер использует KeyFieldNames чтобы получить значения ключевых полей для чего? CodeFineСложно почерпнуть из примера для C++ что-то нужно в Delphi... есть ли такой же пример для Delphi? ну так переходи на билдер пока не поздно :) а вообще я тебе уже даже разжевал, глотай как-нибудь уж сам ;) CodeFineи курсор в таблице не скакал? не совсем понятно что имеется в виду но смотри в сторону Begin/EndUpdate, Begin/EndLocate ну и конечно же Disable/EnableControls ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2011, 16:05 |
|
||
|
TcxGrid.DataController не обновляет данные в связанном DataSet
|
|||
|---|---|---|---|
|
#18+
Ещё раз - мы рассматриваем два варианта: 1) правка через DataController вида (grLocal.DataController. Values[ARowInfo.RecordIndex,gr_Date.Index] := Date;) - тут никто видимо ничего сказать почему не работает не может... SyncMode=True, KeyFields указаны везде... 2) правка прямо в Dataset - тут у меня два вопроса и по обоим однозначного ответа пока нет: а) юзер выделил в таблице cxGrid несколько записей, как наиболее правильно править эти записи в Dataset (пожалуйста, напишите код для точности); б) не будет ли это лишней тратой ресурсов ЦПУ (сначала всё равно нужно найти запись в DataController, затем в Dataset), не быстрее ли это работает через DataController, который, возможно, хранит(?) "номер записи в Dataset" и таким образом обрабатывает запись намного быстрее, чем при ручном поиске по KeyField? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2011, 16:30 |
|
||
|
TcxGrid.DataController не обновляет данные в связанном DataSet
|
|||
|---|---|---|---|
|
#18+
Кто-то хотел больше кода, вот весь код, в точности по примеру их хелпа: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2011, 16:46 |
|
||
|
TcxGrid.DataController не обновляет данные в связанном DataSet
|
|||
|---|---|---|---|
|
#18+
Ответ оказался невероятно прост и явно показывает реальные "знания" всех выпендривавшихся в этой теме, а именно: X11, Sergij Gromov, Gator, Esperito - люди выпендриваются НИЧЕГО НЕ ЗНАЯ о предмете темы... Ответ такой - данный метод DataController.Values вообще не работает с bound mode table. Каждый знающий понял бы это по первому же постингу. Так что меньше выпендривайтесь. :D ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2011, 18:10 |
|
||
|
TcxGrid.DataController не обновляет данные в связанном DataSet
|
|||
|---|---|---|---|
|
#18+
CodeFineDataController.Values вообще не работает с bound mode table а тебе говорили работать с датасетом напрямую ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2011, 18:27 |
|
||
|
TcxGrid.DataController не обновляет данные в связанном DataSet
|
|||
|---|---|---|---|
|
#18+
CodeFine, т.е. ты вдруг решил, что все должны девкин хелп наизусть, знать? А зато мы знаем "как я тебе покажу все настройки" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2011, 21:04 |
|
||
|
TcxGrid.DataController не обновляет данные в связанном DataSet
|
|||
|---|---|---|---|
|
#18+
У меня болит голова, как вы думаете от чего ? Что делал вчера не скажу, но ноги парил - не помогает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2011, 04:05 |
|
||
|
|

start [/forum/topic.php?all=1&fid=58&tid=2040753]: |
0ms |
get settings: |
7ms |
get forum list: |
18ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
180ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
81ms |
get tp. blocked users: |
2ms |
| others: | 225ms |
| total: | 535ms |

| 0 / 0 |
