给gridview添加上下移动功能
存储过程代码:
CREATE PROCEDURE [sp_trans_dept]
@now_id int,
@upside_id int
@now_id int,
@upside_id int
AS
declare @tmp_ordering int --临时变量
declare @sqlstr varchar(1000) --sql语句
declare @table_name varchar(500)
declare @column_name varchar(500)
set @table_name='tb_dept'
set @column_name='deptID'
set @column_name='deptID'
select @tmp_ordering=ordering from tb_dept where
deptID=@now_id
set @sqlstr='
update '+@table_name+' set ordering=(select ordering from '+@table_name+' where '+@column_name+'='+convert(varchar(50),@upside_id)+')
where
update '+@table_name+' set ordering = '+convert(varchar(50),@tmp_ordering)+'
where outstr += "alert('" + message + "');";
outstr += "</script>";
Response.Write(outstr);
}
update '+@table_name+' set ordering=(select ordering from '+@table_name+' where '+@column_name+'='+convert(varchar(50),@upside_id)+')
where
update '+@table_name+' set ordering = '+convert(varchar(50),@tmp_ordering)+'
where outstr += "alert('" + message + "');";
outstr += "</script>";
Response.Write(outstr);
}
#endregion
程序前台代码:
<asp:ButtonField CommandName="row_up" Text="上移">
<ItemStyle Width="40px" />
</asp:ButtonField>
<asp:ButtonField CommandName="row_down" Text="下移">
<ItemStyle Width="40px" />
</asp:ButtonField>
<ItemStyle Width="40px" />
</asp:ButtonField>
<asp:ButtonField CommandName="row_down" Text="下移">
<ItemStyle Width="40px" />
</asp:ButtonField>
C#调用存储过程代码:
public override void StoredProcedureOrdering(string sp_Name,string para_name1,string para_name2,int value_1,int value_2)
{
System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand(sp_Name, conn);
if (conn.State.ToString() == "Closed")
conn.Open();
cmd.CommandType = System.Data.CommandType.StoredProcedure;
{
System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand(sp_Name, conn);
if (conn.State.ToString() == "Closed")
conn.Open();
cmd.CommandType = System.Data.CommandType.StoredProcedure;
cmd.Parameters.Add(para_name1, SqlDbType.Int, 4).Value = value_1;
cmd.Parameters.Add(para_name2, SqlDbType.Int, 4).Value = value_2;
cmd.Parameters.Add(para_name2, SqlDbType.Int, 4).Value = value_2;
try
{
cmd.ExecuteNonQuery();
}
catch (SqlException ex)
{
throw new Exception(ex.Message.ToString());
}