Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ExtJS Grid + контрольная сумма данных в ячейке, есть ли способ не изобретать велосипед? 
:(
    Опции темы
TTT
Дата 23.6.2010, 13:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 13.3.2007

Репутация: нет
Всего: 1



Всем привет.
Пишу тул для работы с БД. ExtJS Grid + Perl. С таблицей могут работать несколько юзеров. Соответственно есть вероятность "одновременного" изменения ячеек (читай полей таблицы в БД). Блокировки не подходят. Решил передавать контр. суммы к каждой ячейке. Объем данных возрастает, но другого решения пока нет.
Сейчас думаю в Grid добавить скрытое поле "fieldname_md5". Не уверен, что это правильный путь. Народ, поделитесь мыслями, как бы вы сделали? Или может есть такая возможность в самой ExtJS?
PM MAIL   Вверх
comtat
Дата 25.6.2010, 08:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1310
Регистрация: 2.5.2006
Где: Россия, Казань

Репутация: 5
Всего: 71



Как я понял ты используешь для редактирования Ext.grid.EditorGridPanel 
По этому есть предложение использовать Ext.grid.GridPanel + Ext.form.FormPanel
Плюс будет в том что при попытке изменить данные записи информацию ты можешь заново запросить из БД те она будет актуальна.
А для отображения актуальной информации в Ext.grid.GridPanel можно периодически обновлять информацию


--------------------
Рожденный в СССР !!!
ExtJS - мой фреймворк 
PM   Вверх
TTT
Дата 25.6.2010, 13:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 13.3.2007

Репутация: нет
Всего: 1



Это не поможет, потому что данные в момент чтения перед изменением могут быть уже изменены другим юзером. Для правильной проверки на изменение нужно знать считанное значение "А" и новое значение "В". В момент апдейта ячейки нужно заново считать значение "А+", сравнить с "А", и если они равны то писать в ячейку "В". Если не равны, выдать сообщение "Некоторые данные сохранить не удалось. Нажмите ОБНОВИТЬ и попробуйте снова".  Т.е. приходится передавать в ExtJS контр. сумму "А" (исп MD5) и сами данные.
PM MAIL   Вверх
comtat
Дата 25.6.2010, 13:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1310
Регистрация: 2.5.2006
Где: Россия, Казань

Репутация: 5
Всего: 71



Цитата(TTT @  25.6.2010,  13:09 Найти цитируемый пост)
Это не поможет, потому что данные в момент чтения перед изменением могут быть уже изменены другим юзером.

Перед открытием формы редактирования нужно просто запросить данные редактируемой записи из БД


--------------------
Рожденный в СССР !!!
ExtJS - мой фреймворк 
PM   Вверх
TTT
Дата 25.6.2010, 15:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 13.3.2007

Репутация: нет
Всего: 1



Идея хорошая. Нужно подумать над ней. Но все равно эта идея не исключает коллизии. Если юзер будет долго думать над формой, данные могут измениться. В моем случае я вынужден ожидать такую ситуацию.
PM MAIL   Вверх
comtat
Дата 25.6.2010, 16:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1310
Регистрация: 2.5.2006
Где: Россия, Казань

Репутация: 5
Всего: 71



Хранишь для каждой записи значение Даты последнего изменения если при отправке на сохранении даты которая была получена при создании формы не совпадает с датой которая в момент сохранения  находится выводишь пользователю сообщение о том что данные были изменены


--------------------
Рожденный в СССР !!!
ExtJS - мой фреймворк 
PM   Вверх
TTT
Дата 25.6.2010, 16:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 13.3.2007

Репутация: нет
Всего: 1



Спасибо за идею. На выходных попробую переварить.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Применение библиотек | Следующая тема »


 




[ Время генерации скрипта: 0.0609 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.