在网格的第一个位置插入列
Insert column at the first position in grid
我试图在网格的第一个位置插入行选择,但它总是在隐藏的列中结束。我对删除按钮列做了同样的事情,效果很好。
protected getColumns(): Slick.Column[] {
var cols = super.getColumns();
cols.unshift({
field: 'Delete Row',
name: '',
format: ctx => '<a class="inline-action delete-row" title="delete">' +
'<i class="fa fa-trash-o text-red"></i></a>',
width: 24,
minWidth: 24,
maxWidth: 24,
visible: true
});
cols.unshift(Serenity.GridRowSelectionMixin.createSelectColumn(() => this.rowSelection));
return cols;
问题不是选择行的执行不正确。我知道这一点,因为我用不同的列尝试过,结果相同。我还尝试将“可见”设置为 true
有任何想法吗?谢谢
问题是使用此功能打开了数据持久化
protected getPersistanceStorage(): Serenity.SettingStorage {
return new Common.UserPreferenceStorage();
}
此代码将使您的选择列停留在第一个位置
protected getPersistedSettings() {
let setting = super.getPersistedSettings();
let idCol = Q.tryFirst(setting.columns, x => x.id == "__select__");
if (idCol) {
setting.columns.splice(setting.columns.indexOf(idCol), 1);
setting.columns.splice(0, 0, idCol);
}
return setting;
}
但要确保选择不在隐藏列表中
我试图在网格的第一个位置插入行选择,但它总是在隐藏的列中结束。我对删除按钮列做了同样的事情,效果很好。
protected getColumns(): Slick.Column[] {
var cols = super.getColumns();
cols.unshift({
field: 'Delete Row',
name: '',
format: ctx => '<a class="inline-action delete-row" title="delete">' +
'<i class="fa fa-trash-o text-red"></i></a>',
width: 24,
minWidth: 24,
maxWidth: 24,
visible: true
});
cols.unshift(Serenity.GridRowSelectionMixin.createSelectColumn(() => this.rowSelection));
return cols;
问题不是选择行的执行不正确。我知道这一点,因为我用不同的列尝试过,结果相同。我还尝试将“可见”设置为 true 有任何想法吗?谢谢
问题是使用此功能打开了数据持久化
protected getPersistanceStorage(): Serenity.SettingStorage {
return new Common.UserPreferenceStorage();
}
此代码将使您的选择列停留在第一个位置
protected getPersistedSettings() {
let setting = super.getPersistedSettings();
let idCol = Q.tryFirst(setting.columns, x => x.id == "__select__");
if (idCol) {
setting.columns.splice(setting.columns.indexOf(idCol), 1);
setting.columns.splice(0, 0, idCol);
}
return setting;
}
但要确保选择不在隐藏列表中