Javascript 如何将给定表的整数列显示为从1开始到前端用户的自动递增序列?
我正在编写一个作为任务/项目经理的完整堆栈应用程序。它就像一个带有拖放功能的大表,允许高层管理人员重新安排任务/项目的优先级。下面是高层管理层的看法Javascript 如何将给定表的整数列显示为从1开始到前端用户的自动递增序列?,javascript,java,sql-server,Javascript,Java,Sql Server,我正在编写一个作为任务/项目经理的完整堆栈应用程序。它就像一个带有拖放功能的大表,允许高层管理人员重新安排任务/项目的优先级。下面是高层管理层的看法 ----------------------------------------- |Priority| Task | Resource| ----------------------------------------- | 1 | Write some code | Arya S. |
-----------------------------------------
|Priority| Task | Resource|
-----------------------------------------
| 1 | Write some code | Arya S. |
-----------------------------------------
| 2 | Write a spec. | Bran S. |
-----------------------------------------
| 3 | Write some code | Bran S. |
-----------------------------------------
。。。等等,完成100多项任务。
为其分配任务的资源也可以登录到程序中,并且只能查看其任务。例如,如果Bran登录:
-----------------------------------------
|Priority| Task | Resource|
-----------------------------------------
| 2 | Write a spec. | Bran S. |
-----------------------------------------
| 3 | Write some code | Bran S. |
-----------------------------------------
优先级列是sql server数据库中的一列是否有方法使用SQL重新调整优先级(通过中间层JAVA代码或SQL视图),以便“Bran”从1开始查看优先级?所需的最终产品:
-----------------------------------------
|Priority| Task | Resource|
-----------------------------------------
| 1 | Write a spec. | Bran S. |
-----------------------------------------
| 2 | Write some code | Bran S. |
-----------------------------------------
我不希望必须使用JQuery/DOM操作,因为它看起来效率低下、杂乱无章,而且有很多活动部件。如有任何建议,将不胜感激 在SQL Server中,行号()在这里可能很有用
示例
Select [Priority] = row_number() over (partition by [resouce] order by [Priority])
,[Task]
,[Resouce]
From YourTable
注意:如果您有相互竞争的优先级,可以将行数()
替换为密集列数()
要更新您的表
;with cte as (
Select *
,[NewPriority] = row_number() over (partition by [resouce] order by [Priority])
From YourTable
)
Update cte set [Priority]=[NewPriority]
在SQL Server中,行号()在这里可能很有用
示例
Select [Priority] = row_number() over (partition by [resouce] order by [Priority])
,[Task]
,[Resouce]
From YourTable
注意:如果您有相互竞争的优先级,可以将行数()
替换为密集列数()
要更新您的表
;with cte as (
Select *
,[NewPriority] = row_number() over (partition by [resouce] order by [Priority])
From YourTable
)
Update cte set [Priority]=[NewPriority]
在过程或正在使用的select命令中使用row_number()命令
剧本
create table #tempTable
(
Priority int identity(1,1),
Task varchar(100),
Resource varchar(100)
)
insert into #tempTable
select 'Write some code' ,'Arya S.' UNION
select 'Write a spec. ' ,'Bran S.' union
select 'Write some code ' ,'Bran S.'
select * from #tempTable
select ROW_NUMBER() over (order by Priority),Task, Resource
from #tempTable
delete from #tempTable
where Priority = 1
select ROW_NUMBER() over (order by Priority) Priority,Task, Resource
from #tempTable
drop table #tempTable
在过程或正在使用的select命令中使用row_number()命令
剧本
create table #tempTable
(
Priority int identity(1,1),
Task varchar(100),
Resource varchar(100)
)
insert into #tempTable
select 'Write some code' ,'Arya S.' UNION
select 'Write a spec. ' ,'Bran S.' union
select 'Write some code ' ,'Bran S.'
select * from #tempTable
select ROW_NUMBER() over (order by Priority),Task, Resource
from #tempTable
delete from #tempTable
where Priority = 1
select ROW_NUMBER() over (order by Priority) Priority,Task, Resource
from #tempTable
drop table #tempTable
在第二部分中,您的后端只向前端显示用户可以看到的任务。例如,如果用户“A”向后端请求任务列表,后端只应返回该用户的任务列表,仅此而已。在您的后端,您将不得不筛选,而不是为这个特定问题寻找框架。我在这里展示的所有内容目前都是一个正常工作的应用程序。资源可以登录到程序并仅查看其任务,但优先级不会重新调整为从1开始。在我看来,这是一个小细节(因为很容易推断出您最需要的优先级,因为表是按优先级排序的),但它需要成为成品的一部分。我明白了,您希望在后端而不是前端重新映射优先级?是的!!准确地说,在第二部分中,您正在寻找一个类似reactjsAs的框架,您的后端只向前端显示用户可以看到的任务。例如,如果用户“A”向后端请求任务列表,后端只应返回该用户的任务列表,仅此而已。在您的后端,您将不得不筛选,而不是为这个特定问题寻找框架。我在这里展示的所有内容目前都是一个正常工作的应用程序。资源可以登录到程序并仅查看其任务,但优先级不会重新调整为从1开始。在我看来,这是一个小细节(因为很容易推断出您最需要的优先级,因为表是按优先级排序的),但它需要成为成品的一部分。我明白了,您希望在后端而不是前端重新映射优先级?是的!!Precisely@R.Verner乐意help@R.Verner很乐意帮忙