我有一个充满数据的表,它有五列:id(varchar2)、description(varchar2)、diameter(number)、crown(number) 和 lockout(single char)
该表内置在使用 ASP-classic 制作的 webapp 中。该表在顶部有一行,其标题包含每列的名称。当用户单击标题时,表格会重建,按他们单击的列升序或降序排序,具体取决于先前的方向(如网站上的典型排序按钮)。
我想要发生的是:当用户单击除 id 以外的任何行时,按他们单击的行和按 id 排序,因为例如可能有数百条具有相同描述值的记录。
这是我现在确定如何排序的代码片段。
if Len(strSort) > 0 then
sqlQry = sqlQry + " ORDER BY " & strSort
if intSortDir <> "1" then
sqlQry = sqlQry + " DESC"
end if
end if
strSort
从 asp 查询 url 中提取,并在单击时添加到 url。 intSortDir
基本上初始化为 0 并在用户单击标题时切换。
总而言之,我的问题是,我如何一次按两列排序,单击的那一列是主要排序。
我试过这个:
if Len(strSort) > 0 then
if strSort = "id" then
sqlQry = sqlQry + " ORDER BY " & strSort
if intSortDir <> "1" then
sqlQry = sqlQry + " DESC"
end if
else
sqlQry = sqlQry + " ORDER BY " & strSort & ",id"
if intSortDir <> "1" then
sqlQry = sqlQry + " DESC"
end if
end if
end if
它按照我想要的方式排序,但它不允许我切换排序方向。