iT邦幫忙

0

欄位排序

  • 分享至 

  • xImage

欄位排序

看更多先前的討論...收起先前的討論...
尼克 iT邦大師 1 級 ‧ 2022-08-25 10:22:11 檢舉
若是SQL語法的order by 語法範例如下
SELECT field1, field2 FROM table_name ORDER BY field1 DESC
OR
SELECT field1, field2 FROM table_name ORDER BY field1 ASC
sa851416 iT邦新手 5 級 ‧ 2022-08-25 10:33:37 檢舉
請問這段語法我應該要下在哪邊

我的DAL層目前長這樣:
private const string SQL_TITLE = "dbo.學員專區產品線講師.產品線講師Id, dbo.學員專區產品線講師.產品線Id, dbo.學員專區產品線講師.講師編號, dbo.學員專區產品線講師.排列, dbo.學員專區產品線講師.CreatorId, dbo.學員專區產品線講師.CreateAt";

private const string SQL_SELECT = "select " + SQL_TITLE + " from dbo.學員專區產品線講師 ";

現在他是用產品線講師Id去做sort排序,但我想要改成用產品線Id
string sql = SQL_SELECT ; 這行後面加
string fieldODBY = 產品線Id
string sql = sql + " ORDER BY "+ fieldODBY
+ " DESC";
或是
string sql = sql + " ORDER BY "+ fieldODBY
+ " ASC";
這樣就行了
kw6732 iT邦研究生 4 級 ‧ 2022-08-25 10:50:13 檢舉
即便你的GV是動態生成,也是可以透過 gv.Sort(exp, dir) 來做。
sa851416 iT邦新手 5 級 ‧ 2022-08-25 10:51:01 檢舉
謝謝窮嘶發發發
成功了!!
原來是我想得太複雜了一直在想是不是要加onsorting事件
sa851416 iT邦新手 5 級 ‧ 2022-08-25 10:52:02 檢舉
我剛剛有google到gv.Sort(exp, dir)可以做,但一直失敗跳出錯誤...
實在是還不熟悉QQ
kw6732 iT邦研究生 4 級 ‧ 2022-08-25 10:57:23 檢舉
會跳出錯誤 與 你的 bind 方法有關,做 gv.Sort(exp, dir) 要重新 bind 一次。
我的方法是給 DataSourceID = SqlDataSource 然後 CodeBehind置入 SelectedCommand 去 Bind
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

1
kw6732
iT邦研究生 4 級 ‧ 2022-08-25 10:54:22

提供你解方,我是套在dl上面的,你可以自行改寫。

protected void GvSort(object sender, EventArgs e)
    {
        GridView gv = pre_gv;
        DropDownList dl = (DropDownList)sender;

        string exp = "";
        SortDirection dir = SortDirection.Ascending; ;
        if (dl.SelectedIndex == 0) return;

        switch ( dl.SelectedIndex)
        {
            case 1:
                exp = "prd_s";
            break;
            case 2:
                exp = "prd_s";
                dir = SortDirection.Descending;
                break;
            case 3:
                exp = "sup_s";
                break;
            case 4:
                exp = "sup_s";
                dir = SortDirection.Descending;
                break;
            case 5:
                exp = "cus_s";
                break;
            case 6:
                exp = "cus_s";
                dir = SortDirection.Descending;
                break;
            case 7:
                exp = "p_q";
                break;
            default :
                break;
        }
        gv.Sort(exp, dir);
    }
sa851416 iT邦新手 5 級 ‧ 2022-08-25 10:56:48 檢舉

感謝kw6732大大!! 已收藏,未來有在遇到類似的需求希望用的上:)

我要發表回答

立即登入回答