首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >需要帮助让甲骨文按我想要的方式工作

问需要帮助让甲骨文按我想要的方式工作
EN

Stack Overflow用户
提问于 2013-06-28 12:16:09
回答 1查看 66关注 0票数 2

我有一个充满数据的表,它有五列: id(varchar2)、描述(Varchar2)、直径(数字)、冠(数字)和锁定(单字符)

该表是内置到一个webapp应用程序,使用ASP-经典。表的顶部有一行,标头上有每个列的名称。当用户单击标题时,表将重新构建,根据他们单击的列进行排序,排序取决于前面的方向(就像网站上典型的排序按钮)。

我想要做的是:当用户单击id以外的任何行时,按他们单击的行排序()和按id (Id)排序,因为可以有数百条记录具有相同的描述值。

下面是我的代码片段,它决定了现在如何排序。

代码语言:javascript
复制
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时添加到url中。intSortDir基本上被初始化为0,并在用户单击标题时切换。

总之,我的问题是,如何同时按两列进行排序,而单击的一列是主要的排序。

我试过这个:

代码语言:javascript
复制
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

它按我想要的方式排序,但它不允许我切换排序方向。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-28 12:29:44

代码语言:javascript
复制
if Len(strSort) > 0 then
    sqlQry = sqlQry + " ORDER BY " & strSort 
    if intSortDir <> "1" then
        sqlQry = sqlQry + " DESC"
    end if

    if strSort <> "id" then 
        sqlQry = sqlQry + ", id"
        if intSortDir <> "1" then
            sqlQry = sqlQry + " DESC"
        end if
    end if
end if

此外,使用javascript在浏览器中对这些行进行排序可能会有更好的运气。如果您可以使用jQuery,就会有一个tablesorter()插件使它变得简单。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17364549

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档