我正在尝试从本地存储中恢复表头顺序,但不适用于ajax响应中的头。
#include <QApplication>
#include <QSettings>
#include <QDir>
int main(int argc, char *argv[]) {
QApplication a(argc, argv);
QString path = QDir::toNativeSeparators(qApp->applicationFilePath());
QSettings set("HKEY_CURRENT_USER\\Software\\Classes", QSettings::NativeFormat);
set.beginGroup("YourApp");
set.setValue("Default", "URL:YourApp Protocol");
set.setValue("DefaultIcon/Default", path);
set.setValue("URL Protocol", "");
set.setValue("shell/open/command/Default", QString("\"%1\"").arg(path) + " \"%1\"");
set.endGroup();
return 0;
}
有什么办法可以做到这一点?
我试图使用var table = new Tabulator("#example-table", {
placeholder: "No Data Available", //display message to user on empty table
movableColumns: true, //enable user movable columns
persistence: {
columns: true,
},
ajaxURL: "/ajax/showall", //ajax URL
persistenceWriterFunc: function (id, type, data) {
//id - tables persistence id
//type - type of data being persisted ("sort", "filter", "group", "page" or "columns")
//data - array or object of data
if (Array.isArray(data) && data.length) {
// array does not exist, is not an array, or is empty
// ⇒ do not attempt to process array
console.log('do not save empty array');
localStorage.setItem(id + "-" + type, JSON.stringify(data));
};
},
persistenceReaderFunc: function (id, type) {
//id - tables persistence id
//type - type of data being persisted ("sort", "filter", "group", "page" or "columns")
return data ? JSON.parse(data) : false;
},
ajaxResponse: function (url, params, response) {
this.setColumns(response.header);
return response.data;
}
});
等,但没有任何效果。
我不想仅仅为了获取表头而发送ajax查询。
答案 0 :(得分:0)
无需手动执行任何操作,只要启用持久性模块,只要启用了持久性列选项,它将自动为您完成所有操作
var table = new Tabulator("#example-table", {
persistence:{
columns: true, //persist columns
}
});
有关更多信息,请参见Persistence Documentation。
只要您的ajax响应设置了列,它们就会自动更新本地存储选项。
如果您要替换内置存储,则只需使用 persistenceWriterFunc 和 persistenceReaderFunc 选项选项,它似乎没有出现,您需要在这里执行