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很乐意帮忙