我有一个gridview,里面有头模板,项模板,编辑模板,如:<asp:TemplateField HeaderText="For Online Payment?" SortExpression="IsOnlinePaymentDesc">
<ItemTemplate>
<asp:Label ID="lblIsOnlinePaymentDesc" Text='<%# Eval("IsOnlinePaymentDesc") %>'
runat="server" />
</ItemTemplate>
<EditItemTemplate>
<asp:DropDownList ID="ddlIsOnlinePayment" runat="server">
</asp:DropDownList>
<asp:HiddenField ID="hidIsOnlinePayment" runat="server" Value='<%# Eval("IsOnlinePayment") %>' />
</EditItemTemplate>
<ItemStyle HorizontalAlign="Left" Width="10%" />
<HeaderStyle HorizontalAlign="Left" Wrap="false" />
</asp:TemplateField>
我现在要做的,在最后一列有上下移动的图片,点击当前行的向上图片,则这一行移动到上一行,上一行会移动到当前点击行,要怎么实现啊,求高手大侠给个例子吧……
<ItemTemplate>
<asp:Label ID="lblIsOnlinePaymentDesc" Text='<%# Eval("IsOnlinePaymentDesc") %>'
runat="server" />
</ItemTemplate>
<EditItemTemplate>
<asp:DropDownList ID="ddlIsOnlinePayment" runat="server">
</asp:DropDownList>
<asp:HiddenField ID="hidIsOnlinePayment" runat="server" Value='<%# Eval("IsOnlinePayment") %>' />
</EditItemTemplate>
<ItemStyle HorizontalAlign="Left" Width="10%" />
<HeaderStyle HorizontalAlign="Left" Wrap="false" />
</asp:TemplateField>
我现在要做的,在最后一列有上下移动的图片,点击当前行的向上图片,则这一行移动到上一行,上一行会移动到当前点击行,要怎么实现啊,求高手大侠给个例子吧……
1、用JS移动行,实际数据不动,就是用Jquery做移动很简单
2、就是后台移动集合是数据顺序,然后重新绑定,也不能,主要看你数据源是什么类型。
http://www.cnblogs.com/insus/articles/1406440.html
http://www.cnblogs.com/insus/articles/1922815.html
protected void imgup_Click(object sender, CommandEventArgs e)//向上走
{
string sql = "select top 1 p_pid,p_paixu from p_product where p_cid =" + drop.SelectedValue + " and p_paixu >" + e.CommandArgument;
sql = sql + " order by p_paixu";
DataTable dt1 = sqlhelper.GetTable(sql);
if (dt1.Rows.Count>0)
{
string p1 = dt1.Rows[0]["p_pid"].ToString();//上一个ID 123
string px1 = dt1.Rows[0]["p_paixu"].ToString();//上一个ID的排序值 123
} string px2 = "";
string sql2 = "select p_paixu from p_product where p_pid=" + e.CommandName; //122
object obj = sqlhelper.ExecuteScalar(sql2);
if (obj != null)
{
px2 = obj.ToString();//本ID的排序值 122
} if (dt1.Rows.Count > 0)//把本ID的排序值和上一个ID的排序值相互交换一下
{
string sql3 = "update p_product set p_paixu = @px2 where p_pid=" + e.CommandName;
OleDbParameter[] para2 = new OleDbParameter[]{
new OleDbParameter("@px2",dt1.Rows[0]["p_paixu"].ToString())
};
sqlhelper.ExecuteQuery(sql3, para2, CommandType.Text); string sql4 = "update p_product set p_paixu = @px1 where p_pid=" + dt1.Rows[0]["p_pid"].ToString();
OleDbParameter[] para1 = new OleDbParameter[]{
new OleDbParameter("@px1",px2)
};
sqlhelper.ExecuteQuery(sql4, para1, CommandType.Text);
}
repeaterdatabind();
} protected void imgdown_Click(object sender, CommandEventArgs e)
{
string sql = "select top 1 p_pid,p_paixu from p_product where p_cid =" + drop.SelectedValue + " and p_paixu <" + e.CommandArgument;
sql = sql + " order by p_paixu desc";
DataTable dt1 = sqlhelper.GetTable(sql);
if (dt1.Rows.Count > 0)
{
string p1 = dt1.Rows[0]["p_pid"].ToString();//下一个ID
string px1 = dt1.Rows[0]["p_paixu"].ToString();//下一个ID的排序值
} string px5 = "";
string sql2 = "select p_paixu from p_product where p_pid=" + e.CommandName;
object obj = sqlhelper.ExecuteScalar(sql2);
if (obj != null)
{
px5 = obj.ToString();//本ID的排序值
} if (dt1.Rows.Count > 0)//把本ID的排序值和下一个ID的排序值相互交换一下
{
string sql3 = "update p_product set p_paixu = @px3 where p_pid=" + e.CommandName;
OleDbParameter[] para2 = new OleDbParameter[]{
new OleDbParameter("@px3",dt1.Rows[0]["p_paixu"].ToString())
};
sqlhelper.ExecuteQuery(sql3, para2, CommandType.Text); string sql4 = "update p_product set p_paixu = @px4 where p_pid=" + dt1.Rows[0]["p_pid"].ToString();
OleDbParameter[] para1 = new OleDbParameter[]{
new OleDbParameter("@px4",px5)
};
sqlhelper.ExecuteQuery(sql4, para1, CommandType.Text);
}
repeaterdatabind();
}
ajax提交就可以保存并且有Edit,Update行的功能?
http://dotnet.aspx.cc/file/Add-Delete-Update-Edit-Data-With-Paging-in-GridView.aspx