From 8b7b9cdf9ae9e4ce4f92666f182719fa757e87fa Mon Sep 17 00:00:00 2001 From: Argo-Lenovo Date: Fri, 17 Jun 2022 23:54:27 +0800 Subject: [PATCH 1/4] =?UTF-8?q?feat:=20=E6=96=B0=E5=BB=BA=E8=A1=8C?= =?UTF-8?q?=E5=9C=A8=E8=A1=8C=E5=B0=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/BootstrapBlazor/Components/Table/Table.razor | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/BootstrapBlazor/Components/Table/Table.razor b/src/BootstrapBlazor/Components/Table/Table.razor index 9109fa610..70fcf12e2 100644 --- a/src/BootstrapBlazor/Components/Table/Table.razor +++ b/src/BootstrapBlazor/Components/Table/Table.razor @@ -283,10 +283,6 @@ { @RenderEditForm.Invoke((EditModel, ItemChangedType.Add)) } - @if (AddInCell) - { - @RenderRow(EditModel) - } @if(ScrollMode == ScrollMode.Virtual) { @if(Items != null) @@ -345,6 +341,10 @@ } } + @if (AddInCell) + { + @RenderRow(EditModel) + } @if (ShowFooter && !IsHideFooterWhenNoData) { -- Gitee From e34b3a123ef7747c2899bfaeb6cf0a3597d25c55 Mon Sep 17 00:00:00 2001 From: Argo-Lenovo Date: Fri, 17 Jun 2022 23:54:38 +0800 Subject: [PATCH 2/4] =?UTF-8?q?feat:=20=E5=A2=9E=E5=8A=A0=E7=BC=96?= =?UTF-8?q?=E8=BE=91=E6=8C=89=E9=92=AE=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Components/Table/Table.razor.Toolbar.cs | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/BootstrapBlazor/Components/Table/Table.razor.Toolbar.cs b/src/BootstrapBlazor/Components/Table/Table.razor.Toolbar.cs index 96ae58db9..7a9be11ad 100644 --- a/src/BootstrapBlazor/Components/Table/Table.razor.Toolbar.cs +++ b/src/BootstrapBlazor/Components/Table/Table.razor.Toolbar.cs @@ -455,7 +455,16 @@ public partial class Table if (ItemsChanged.HasDelegate) { // 通过 EditModel 恢复 编辑数据 - Rows.Insert(0, EditModel); + if (changedType == ItemChangedType.Add) + { + Rows.Add(EditModel); + } + else + { + var index = Rows.IndexOf(SelectedRows[0]); + Rows.RemoveAt(index); + Rows.Insert(index, EditModel); + } SelectedRows.Clear(); await ItemsChanged.InvokeAsync(Rows); } -- Gitee From 44c91b9106baa334d8fdf549fcd0727180aee1ef Mon Sep 17 00:00:00 2001 From: Argo-Lenovo Date: Sat, 18 Jun 2022 08:32:44 +0800 Subject: [PATCH 3/4] =?UTF-8?q?feat:=20=E5=A2=9E=E5=8A=A0=20InCell=20?= =?UTF-8?q?=E6=A8=A1=E5=BC=8F=E8=AE=BE=E7=BD=AE=E6=8F=92=E5=85=A5=E8=A1=8C?= =?UTF-8?q?=E4=BD=8D=E7=BD=AE=E6=9E=9A=E4=B8=BE=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Components/Table/Table.razor | 24 +++++++++++++++---- .../Components/Table/Table.razor.Edit.cs | 6 +++++ .../Components/Table/Table.razor.Toolbar.cs | 9 ++++++- src/BootstrapBlazor/Enums/InsertRowMode.cs | 21 ++++++++++++++++ 4 files changed, 54 insertions(+), 6 deletions(-) create mode 100644 src/BootstrapBlazor/Enums/InsertRowMode.cs diff --git a/src/BootstrapBlazor/Components/Table/Table.razor b/src/BootstrapBlazor/Components/Table/Table.razor index 70fcf12e2..0a98056ad 100644 --- a/src/BootstrapBlazor/Components/Table/Table.razor +++ b/src/BootstrapBlazor/Components/Table/Table.razor @@ -279,9 +279,16 @@ @RenderHeader.Invoke(false) } - @if (!IsExcel && EditMode == EditMode.EditForm && ShowAddForm) + @if (InsertRowMode == InsertRowMode.First) { - @RenderEditForm.Invoke((EditModel, ItemChangedType.Add)) + if (!IsExcel && EditMode == EditMode.EditForm && ShowAddForm) + { + @RenderEditForm.Invoke((EditModel, ItemChangedType.Add)) + } + if (AddInCell) + { + @RenderRow(EditModel) + } } @if(ScrollMode == ScrollMode.Virtual) { @@ -326,7 +333,7 @@ } - if (!IsExcel && EditMode == EditMode.EditForm && ShowEditForm && SelectedRows.FirstOrDefault() == item) + if (!IsExcel && EditMode == EditMode.EditForm && ShowEditForm && SelectedRows.LastOrDefault() == item) { @RenderEditForm((EditModel, ItemChangedType.Update)) } @@ -341,9 +348,16 @@ } } - @if (AddInCell) + @if (InsertRowMode == InsertRowMode.Last) { - @RenderRow(EditModel) + if (!IsExcel && EditMode == EditMode.EditForm && ShowAddForm) + { + @RenderEditForm.Invoke((EditModel, ItemChangedType.Add)) + } + if (AddInCell) + { + @RenderRow(EditModel) + } } @if (ShowFooter && !IsHideFooterWhenNoData) diff --git a/src/BootstrapBlazor/Components/Table/Table.razor.Edit.cs b/src/BootstrapBlazor/Components/Table/Table.razor.Edit.cs index 57010e586..bf3486865 100644 --- a/src/BootstrapBlazor/Components/Table/Table.razor.Edit.cs +++ b/src/BootstrapBlazor/Components/Table/Table.razor.Edit.cs @@ -27,6 +27,12 @@ public partial class Table [Parameter] public EventCallback> SelectedRowsChanged { get; set; } + /// + /// 获得/设置 新建行位置枚举 默认为 选中行后面 + /// + [Parameter] + public InsertRowMode InsertRowMode { get; set; } + /// /// 获得/设置 是否正在查询数据 /// diff --git a/src/BootstrapBlazor/Components/Table/Table.razor.Toolbar.cs b/src/BootstrapBlazor/Components/Table/Table.razor.Toolbar.cs index 7a9be11ad..dcd71815d 100644 --- a/src/BootstrapBlazor/Components/Table/Table.razor.Toolbar.cs +++ b/src/BootstrapBlazor/Components/Table/Table.razor.Toolbar.cs @@ -457,7 +457,14 @@ public partial class Table // 通过 EditModel 恢复 编辑数据 if (changedType == ItemChangedType.Add) { - Rows.Add(EditModel); + if (InsertRowMode == InsertRowMode.Last) + { + Rows.Add(EditModel); + } + else if (InsertRowMode == InsertRowMode.First) + { + Rows.Insert(0, EditModel); + } } else { diff --git a/src/BootstrapBlazor/Enums/InsertRowMode.cs b/src/BootstrapBlazor/Enums/InsertRowMode.cs new file mode 100644 index 000000000..5c335bb29 --- /dev/null +++ b/src/BootstrapBlazor/Enums/InsertRowMode.cs @@ -0,0 +1,21 @@ +// Copyright (c) Argo Zhang (argo@163.com). All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. +// Website: https://www.blazor.zone or https://argozhang.github.io/ + +namespace BootstrapBlazor.Components; + +/// +/// Table 组件 为非弹窗模式时新建行模式 +/// +public enum InsertRowMode +{ + /// + /// 最后一行 + /// + Last, + + /// + /// 第一行 + /// + First +} -- Gitee From c4de51bab7790423bbee199f69441c628fee358e Mon Sep 17 00:00:00 2001 From: Argo-Lenovo Date: Sat, 18 Jun 2022 09:24:27 +0800 Subject: [PATCH 4/4] chore: bump version 6.7.17 --- src/BootstrapBlazor/BootstrapBlazor.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/BootstrapBlazor/BootstrapBlazor.csproj b/src/BootstrapBlazor/BootstrapBlazor.csproj index 3a140fb04..a142d78f3 100644 --- a/src/BootstrapBlazor/BootstrapBlazor.csproj +++ b/src/BootstrapBlazor/BootstrapBlazor.csproj @@ -3,7 +3,7 @@ - 6.7.16 + 6.7.17 -- Gitee