GridView 行交換 GridView 行上移下移
阿新 • • 發佈:2019-01-08
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(); 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(); } }