|
|
|
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 |
|
||
|
|

start [/forum/topic.php?fid=58&fpage=105&tid=2040753]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
168ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
59ms |
get tp. blocked users: |
2ms |
| others: | 208ms |
| total: | 475ms |

| 0 / 0 |
