
Change row order and order value
i have a gridview that has up and down button. i need to reorder the gridview row by clicking the up and down button also need to change the row order value when clicking the up and down button not the row id. How do i do that?..


Sreejesh SPPosted Mar 21, 2013, 4:09 AM
please use datatable in grid view first time binding then up or down click time rearrange your datatable and set your grid view from datatable
that code is
DataRow selectedRow = dt.Rows[key];
DataRow newRow = dt.NewRow();
newRow.ItemArray = selectedRow.ItemArray; // copy data
dt.Rows.Remove(selectedRow);
dt.Rows.InsertAt(newRow, key + 1 / -1);
GridView1.DataSource = dt;
GridView1.DataBind();
so please read my fisrt post change your application
Thanks
sreejesh
Nor Azlina MahmudPosted Mar 21, 2013, 3:32 AM
ID
EmpName
JobDescription
RowOrder
1
Azlina
PPTM
1
2
Dalia
Manager
2
3
Adib
Architect
3
4
Damia
Lecturer
4
i want it to be like below when clicking up or down button
ID
EmpName
JobDescription
RowOrder
1
Azlina
PPTM
1
3
Adib
Architect
2
2
Dalia
Manager
3
4
Damia
Lecturer
4
3 column (id, EmpName, JobDescription of Dalia and adib change places)).. Need help ASAP..TQ so much..
Sreejesh SPPosted Mar 21, 2013, 12:40 AM
I have implement sample code ,please use this code
aspx page
cs page
public partial class grid : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
DataTable dt = new DataTable();
dt.Columns.Add("ID", typeof(int));
dt.Columns.Add("name", typeof(String));
dt.Rows.Add(0, "manu");
dt.Rows.Add(1, "hari");
dt.Rows.Add(2, "kiran");
ViewState["data"] = dt;
GridView1.DataSource = dt;
GridView1.DataBind();
}
}
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
int a = GridView1.SelectedIndex;
ViewState["key"] = a;
}
protected void Button1_Click(object sender, EventArgs e)
{
DataTable dt = (DataTable)ViewState["data"];
int key = (int)ViewState["key"];
DataRow selectedRow = dt.Rows[key];
DataRow newRow = dt.NewRow();
newRow.ItemArray = selectedRow.ItemArray; // copy data
dt.Rows.Remove(selectedRow);
dt.Rows.InsertAt(newRow, key + 1 / -1);
GridView1.DataSource = dt;
GridView1.DataBind();
}
}
thanks
sreejesh