diff --git a/kernel/av/av.go b/kernel/av/av.go index 8a475dce6..1d36f976d 100644 --- a/kernel/av/av.go +++ b/kernel/av/av.go @@ -567,10 +567,11 @@ func NewTableView() (ret *View) { Name: "Table", LayoutType: LayoutTypeTable, Table: &LayoutTable{ - Spec: 0, - ID: ast.NewNodeID(), - Filters: []*ViewFilter{}, - Sorts: []*ViewSort{}, + Spec: 0, + ID: ast.NewNodeID(), + Filters: []*ViewFilter{}, + Sorts: []*ViewSort{}, + PageSize: 50, }, } return @@ -583,10 +584,11 @@ func NewTableViewWithBlockKey(blockKeyID string) (view *View, blockKey *Key) { Name: name, LayoutType: LayoutTypeTable, Table: &LayoutTable{ - Spec: 0, - ID: ast.NewNodeID(), - Filters: []*ViewFilter{}, - Sorts: []*ViewSort{}, + Spec: 0, + ID: ast.NewNodeID(), + Filters: []*ViewFilter{}, + Sorts: []*ViewSort{}, + PageSize: 50, }, } blockKey = NewKey(blockKeyID, "Block", "", KeyTypeBlock) @@ -675,10 +677,15 @@ func SaveAttributeView(av *AttributeView) (err error) { } } - // 数据订正 - 行去重 + // 数据订正 for _, view := range av.Views { if nil != view.Table { + // 行去重 view.Table.RowIDs = gulu.Str.RemoveDuplicatedElem(view.Table.RowIDs) + // 分页大小 + if 1 > view.Table.PageSize { + view.Table.PageSize = 50 + } } } diff --git a/kernel/model/attribute_view.go b/kernel/model/attribute_view.go index c4f52cd58..58e7dabfe 100644 --- a/kernel/model/attribute_view.go +++ b/kernel/model/attribute_view.go @@ -775,6 +775,8 @@ func (tx *Transaction) doDuplicateAttrViewView(operation *Operation) (ret *TxErr }) } + view.Table.PageSize = masterView.Table.PageSize + if err = av.SaveAttributeView(attrView); nil != err { logging.LogErrorf("save attribute view [%s] failed: %s", avID, err) return &TxErr{code: TxErrWriteAttributeView, msg: err.Error(), id: avID}