GridView 行交换 GridView 行上移下移
1.以下为Default.aspx代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server"> <title>无标题页</title> </head> <body> <form id="form1" runat="server"> <div> <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false"> <Columns> <asp:BoundField DataField="id" HeaderText="id" /> <asp:BoundField DataField="name" HeaderText="name" /> <asp:BoundField DataField="age" HeaderText="age" /> <asp:TemplateField> <EditItemTemplate> <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> </EditItemTemplate> <ItemTemplate> <asp:Button ID="Button1" runat="server" Text="UP" /> <asp:Button ID="Button2" runat="server" Text="Down" /> </ItemTemplate> </asp:TemplateField> </Columns> </asp:GridView> </div> </form> </body> </html> 2.以下为Default.aspx.cs代码:
using System;
using System.Configuration; using System.Data; //using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; //using System.Xml.Linq; public partial class _Default : System.Web.UI.Page
{ protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { DataTable dt = CreateDataTable(); GridView1.DataSource = dt;
GridView1.DataBind(); } }
/// <summary> /// /// </summary> /// <param name="dt"></param> /// <returns></returns> public DataTable CreateDataTable() { DataTable dt = new DataTable(); //DataColumn dc=dt.n dt.Columns.Add("id", typeof(Int16)); dt.Columns.Add("name", typeof(String)); dt.Columns.Add("age", typeof(Int16)); for (int i = 0; i < 6; i++) { DataRow dr = dt.NewRow(); dr["id"] = i; dr["name"] = "aa"+i.ToString();; dr["age"] = 12+i; dt.Rows.Add(dr); } ViewState["dataTable"] = dt; return dt; } protected void exchangeRow(DataRow dataRow, DataRow tempRow) { tempRow["id"] = dataRow["id"]; tempRow["name"] = dataRow["name"]; tempRow["age"] = dataRow["age"]; } protected void Button1_Click(object sender, EventArgs e) { DataTable dataTable = (DataTable)ViewState["dataTable"]; string rowindex=((GridViewRow)((Button)sender).Parent.Parent).RowIndex.ToString(); if (int.Parse(rowindex) - 1 < 0)
{ Page.RegisterStartupScript("", "<script>alert('TOP!');</script>"); } else { DataRow tempRow = dataTable.NewRow(); exchangeRow(dataTable.Rows[int.Parse(rowindex) - 1], tempRow); exchangeRow(dataTable.Rows[int.Parse(rowindex)], dataTable.Rows[int.Parse(rowindex) - 1]); exchangeRow(tempRow, dataTable.Rows[int.Parse(rowindex)]); } GridView1.DataSource = dataTable; GridView1.DataBind(); } protected void Button2_Click(object sender, EventArgs e) { DataTable dataTable = (DataTable)ViewState["dataTable"]; string rowindex = ((GridViewRow)((Button)sender).Parent.Parent).RowIndex.ToString(); if (int.Parse(rowindex) + 1 > dataTable.Rows.Count - 1) { Page.RegisterStartupScript("", "<script>alert('END!');</script>"); } else { DataRow tempRow = dataTable.NewRow(); 本文出自 51CTO.COM技术博客exchangeRow(dataTable.Rows[int.Parse(rowindex) + 1], tempRow); exchangeRow(dataTable.Rows[int.Parse(rowindex)], dataTable.Rows[int.Parse(rowindex) + 1]); exchangeRow(tempRow, dataTable.Rows[int.Parse(rowindex)]); } GridView1.DataSource = dataTable; GridView1.DataBind(); } } |



adai6666
博客统计信息
热门文章
最新评论
友情链接