我正在使用带有Dataview的Slickgrid编辑最多5000行的表,使用Laravel从MySQL数据库获取数据。我创建了一个AJAX保存功能,可以将所有数据保存到数据库中,但运行速度非常慢,并冻结网格几秒钟:
python 0_log_cleaner.py --sp original_logs/ --dp clean_logs/ --od CNAME --nd New_CNAME --oan 10208 --nan NewAN
Options:
-h, --help show this help message and exit
--sp=PATH Path to the source logs ie original_logs/
--dp=DST_PATH Path to where sanitized logs will be written to ie
clean_logs
--od=ORG_PHRASE original domain name ie www.clientName.com, use the command
-od clientName
--nd=NEW_PHRASE domain name to replace -od. ie -od clientName -nd domain
makes all log that use to be www.clientName.com into
www.domain.com
--oan=ORG_AN original AN number
--nan=NEW_AN AN number to replace original. ie -oan 12345 -nan AAAA1
replaces all instances of the AN number 12345 with AAAA1
有没有一种方法可以在不冻结的情况下保存数据?我想过使用grid.onClick或onBeforeEditCell并在每次更改时单独保存每一行,但插入一行等函数会更改插入下面每一行的“order”值。
保持Dataview和数据库同步的最佳方法是什么?
答案 0 :(得分:0)
这是一个复杂的问题 首先,ajax调用应该是异步的,因此它不应该阻塞5秒 但是,如果要将所有5000行传递到服务器,则JSON编码可能需要一段时间。您最好只将更改的行传递给服务器。 然而,这本身就比它看起来要复杂得多。
您可能最好使用现有框架来为您处理数据。 微风是个不错的选择。