午夜国产狂喷潮在线观看|国产AⅤ精品一区二区久久|中文字幕AV中文字幕|国产看片高清在线

    asp.net實現(xiàn)向上向下排序的例子
    來源:易賢網(wǎng) 閱讀:859 次 日期:2014-10-21 09:13:25
    溫馨提示:易賢網(wǎng)小編為您整理了“asp.net實現(xiàn)向上向下排序的例子”,方便廣大網(wǎng)友查閱!

    工作中一些常用到的代碼記錄下來,方便自己查找也方便其他需要人士參考。

    廢話不多說,這是一個向上向下排序的功能,首先使用存儲過程 整好 如下:

    sql:

    -- =============================================

    -- author:

    -- create date:

    -- description:

    -- =============================================

    alter procedure [dbo].[sp_bannerorder]

    -- add the parameters for the stored procedure here

    (

    @tablename nvarchar(50), --表名

    @colname nvarchar(50), --排序字段

    @keyid nvarchar(50), --表主鍵字段

    @keyidvalue int, --表主鍵字段值1

    @order nvarchar(20), -- 列表默認的排序方式,asc或desc

    @orderdirection nvarchar(20), --排序方向,up或down

    @where nvarchar(2000) --查詢條件

    )

    as

    begin

    declare @ordertmp1 int; --臨時排序值id1

    declare @ordertmp2 int; --臨時排序值id2

    declare @tmpkeyidvaule nvarchar(50);

    declare @sql nvarchar(2000);

    declare @parmdefinition nvarchar(500);

    declare @parmdefinition2 nvarchar(500);

    if @order='asc'

    begin

    set @sql = n'select @ordertmp1out='+@colname+' from '+@tablename+' where '+@keyid+'='+cast(@keyidvalue as nvarchar(50));

    set @parmdefinition = n'@ordertmp1out nvarchar(20) output';

    execute sp_executesql @sql, @parmdefinition, @ordertmp1out=@ordertmp1 output;

    if @orderdirection='up'

    begin

    set @sql = n'select top 1 @ordertmp2out='+@colname+',@tmpkeyidvauleout='+@keyid+' from '+@tablename+' where '+@colname+'<'+cast(@ordertmp1 as nvarchar(50))+' and '+@where+' order by '+@colname+' desc';

    end

    else

    begin

    set @sql = n'select top 1 @ordertmp2out='+@colname+',@tmpkeyidvauleout='+@keyid+' from '+@tablename+' where '+@colname+'>'+cast(@ordertmp1 as nvarchar(50))+' and '+@where+' order by '+@colname+' asc';

    end

    set @parmdefinition = n'@ordertmp2out nvarchar(20) output, @tmpkeyidvauleout nvarchar(20) output';

    execute sp_executesql @sql, @parmdefinition, @ordertmp2out=@ordertmp2 output, @tmpkeyidvauleout=@tmpkeyidvaule output;

    end

    else

    begin

    set @sql = n'select @ordertmp1out='+@colname+' from '+@tablename+' where '+@keyid+'='+cast(@keyidvalue as nvarchar(50));

    set @parmdefinition = n'@ordertmp1out nvarchar(20) output';

    execute sp_executesql @sql, @parmdefinition, @ordertmp1out=@ordertmp1 output;

    if @orderdirection='up'

    begin

    set @sql = n'select top 1 @ordertmp2out='+@colname+',@tmpkeyidvauleout='+@keyid+' from '+@tablename+' where '+@colname+'>'+cast(@ordertmp1 as nvarchar(50))+' and '+@where+' order by '+@colname+' asc';

    end

    else

    begin

    set @sql = n'select top 1 @ordertmp2out='+@colname+',@tmpkeyidvauleout='+@keyid+' from '+@tablename+' where '+@colname+'<'+cast(@ordertmp1 as nvarchar(50))+' and '+@where+' order by '+@colname+' desc';

    end

    set @parmdefinition = n'@ordertmp2out nvarchar(20) output, @tmpkeyidvauleout nvarchar(20) output';

    execute sp_executesql @sql, @parmdefinition, @ordertmp2out=@ordertmp2 output, @tmpkeyidvauleout=@tmpkeyidvaule output;

    end

    set @sql = 'update '+@tablename+' set '+@colname+'='+cast(@ordertmp2 as nvarchar(50))+' where '+@keyid+'='+cast(@keyidvalue as nvarchar(50));

    set @sql = @sql + ' update '+@tablename+ ' set '+@colname+'='+cast(@ordertmp1 as nvarchar(50))+' where '+@keyid+'='+cast(@tmpkeyidvaule as nvarchar(50));

    --select @ordertmp1,@ordertmp2,@tmpkeyidvaule,@sql

    exec(@sql);

    end

    model:

    public class banner

    {

    public banner()

    { }

    private int _id;

    private string _smallpic;

    private string _bigpic;

    private int _orderid;

    private string _url;

    private string _title;

    private string _descript;

    //字增量id

    public int id

    {

    get { return this._id; }

    set { this._id = value; }

    }

    //banner小圖

    public string smallpic

    {

    get { return this._smallpic; }

    set { this._smallpic = value; }

    }

    ///

    /// banner大圖

    ///

    public string bigpic

    {

    get { return this._bigpic; }

    set { this._bigpic = value; }

    }

    ///

    /// 排序id

    ///

    public int orderid

    {

    get { return this._orderid; }

    set { this._orderid = value; }

    }

    ///

    /// url地址

    ///

    public string url

    {

    get { return this._url; }

    set { this._url = value; }

    }

    ///

    /// 標題

    ///

    public string title

    {

    get { return this._title; }

    set { this._title = value; }

    }

    ///

    /// 描述

    ///

    public string descript

    {

    get { return this._descript; }

    set { this._descript = value; }

    }

    }

    idal代碼:

    /// 排序

    ///

    /// 表名

    /// 排序字段

    /// 表主鍵字段

    /// 表主鍵字段值

    /// 列表默認的排序方式,asc或desc

    /// 排序方向,up或down

    /// 條件

    ///

    int order(string table,string colname,string keyid,int keyidvalue,string order,string orderdirection,string whe);

    sqldal代碼:

    public int order(string table,string colname,string keyid,int keyidvalue,string order,string orderdirection,string whe)

    {

    sqlparameter[] paras = {

    new sqlparameter(@tablename, table),

    new sqlparameter(@colname,colname),

    new sqlparameter(@keyid,keyid),

    new sqlparameter(@keyidvalue,keyidvalue),

    new sqlparameter(@order,order),

    new sqlparameter(@orderdirection,orderdirection),

    new sqlparameter(@where,whe)

    };

    return convert.toint32( sqlhelper.executenonquery(configuration.connectionstring, commandtype.storedprocedure, sp_bannerorder, paras));

    bll代碼:

    public int order(string table, string colname, string keyid, int keyidvalue, string order, string orderdirection, string whe)

    {

    return bner.order(table, colname, keyid, keyidvalue, order, orderdirection, whe);

    }

    web:

    aspx代碼:

    <%@ page language=c# masterpagefile=~/admin/masterpage/page.master autoeventwireup=true codebehind=banner.aspx.cs inherits=yxshop.web.admin.article.banner %>

    <%@ register assembly=ajaxcontroltoolkit namespace=ajaxcontroltoolkit tagprefix=cc1 %>

    <%@ register assembly=fredck.fckeditorv2 namespace=fredck.fckeditorv2 tagprefix=fckeditorv2 %>

    前臺banner管理

    標 題:最多可填寫15個字

    描 述:最多可填寫20個字

    上傳小圖:

    errormessage=請選擇圖片!>

    上傳大圖:

    errormessage=請選擇圖片!>

    排 序:

    controltovalidate=txborder errormessage=不能為空!>

    鏈接地址:

    controltovalidate=txburl errormessage=不能為空!>

    controltovalidate=txburl errormessage=填寫的地址不符合規(guī)格

    validationexpression=http(s)?://([w-]+.)+[w-]+(/[w- ./?%&=]*)?>

    onclick=btnok_click />

    onrowdatabound=gvwbannner_rowdatabound backcolor=white datakeynames=id

    bordercolor=#e7e7ff borderstyle=none borderwidth=1px cellpadding=3

    gridlines=horizontal onrowcancelingedit=gvwbannner_rowcancelingedit

    onrowdeleting=gvwbannner_rowdeleting onrowediting=gvwbannner_rowediting

    onrowupdating=gvwbannner_rowupdating allowsorting=true width=551px>

    <%--

    dataalternatetextformatstring=這是{0}的圖 dataimageurlfield=smallpic

    headertext=圖片>

    --%>

    text=向上 onclick=button1_click />

    text=向下 onclick=button2_click />

    commandname=delete text=刪除 onclientclick=return confirm('是否刪除?'); >

    cs代碼:

    protected void button1_click(object sender, eventargs e)

    {

    int keyidvlue = convert.toint32(gvwbannner.datakeys[((gridviewrow)((button)sender).namingcontainer).rowindex].value); //獲取主鍵值

    int row = convert.toint32(((gridviewrow)((button)sender).namingcontainer).rowindex);//獲取行號

    if (row == 0)

    {

    yxshop.common.alert.show(已經(jīng)最前了!);

    }

    else

    {

    bll.order(banner, orderid, id, keyidvlue, desc, up, 1=1);

    this.bind();

    }

    }

    //向下

    protected void button2_click(object sender, eventargs e)

    {

    //int keyidvlue = ((gridviewrow)((button)sender).namingcontainer).rowindex;

    int keyidvlue = convert.toint32(gvwbannner.datakeys[((gridviewrow)((button)sender).namingcontainer).rowindex].value);

    int row1 = convert.toint32(((gridviewrow)((button)sender).namingcontainer).rowindex);

    if (row1 == this.gvwbannner.rows.count-1)

    {

    yxshop.common.alert.show(已經(jīng)最后了!);

    }

    else

    {

    bll.order(banner, orderid, id, keyidvlue, desc, down, 1=1);

    this.bind();

    }

    }

    至此完畢。

    更多信息請查看IT技術專欄

    更多信息請查看網(wǎng)絡編程
    易賢網(wǎng)手機網(wǎng)站地址:asp.net實現(xiàn)向上向下排序的例子

    2025國考·省考課程試聽報名

    • 報班類型
    • 姓名
    • 手機號
    • 驗證碼
    關于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
    工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
    聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
    咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網(wǎng)