TECHNOLOGIES
FORUMS
JOBS
BOOKS
EVENTS
INTERVIEWS
Live
MORE
LEARN
Training
CAREER
MEMBERS
VIDEOS
NEWS
BLOGS
Sign Up
Login
No unread comment.
View All Comments
No unread message.
View All Messages
No unread notification.
View All Notifications
Answers
Post
An Article
A Blog
A News
A Video
An EBook
An Interview Question
Ask Question
Forums
Monthly Leaders
Forum guidelines
Nel
NA
716
1.1m
Problem with moving the rows up and down in a GridView
May 17 2011 5:33 AM
Hi,
I have a GridView and want to enable the user to move the rows up and down. Here is the code I have which should do that, but the rows don't move up or down:
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
string Qry = string.Empty;
if (e.CommandName == "Up")
{
int index = Convert.ToInt32(e.CommandArgument);
if (index == 0)
{
Label3.Text = "You Cant move record' Up";
Label3.Visible = true;
return;
}
GridViewRow row = GridView1.Rows[index];
Label LblinID = (Label)row.FindControl("lblid");
conn.Open();
Qry = "Select RedBr from dbTable where RedBr = ''" + LblinID.Text + "''";
SqlCommand Command1=new SqlCommand(Qry,conn);
string SeqNo = Command1.ExecuteScalar().ToString();
conn.Close();
if (Convert.ToInt16(SeqNo) > 1)
{
Qry = "Select RedBr from dbTable where RedBr = ''" + (Convert.ToInt16(SeqNo) - 1) + "''";
conn.Open();
string PreDisplayID = Command1.ExecuteScalar().ToString();
conn.Close();
Qry = "Update dbTable Set RedBr = ''" + (Convert.ToInt16(SeqNo) - 1) + "'' Where RedBr = ''" + LblinID.Text + "'';";
Qry += "Update dbTable Set RedBr = ''" + Convert.ToInt16(SeqNo) + "''Where RedBr = ''" + Convert.ToInt16(PreDisplayID) + "'';";
conn.Open();
Command1.ExecuteNonQuery();
conn.Close();
bind();
}
}
if (e.CommandName == "Down")
{
int index = Convert.ToInt32(e.CommandArgument);
GridViewRow row = GridView1.Rows[index];
Label LblinID = (Label)row.FindControl("lblid");
conn.Open();
Qry = "Select Max(RedBr) from dbTable";
SqlCommand Command1 = new SqlCommand(Qry, conn);
string MaxSeqNo = Command1.ExecuteScalar().ToString();
conn.Close();
if (Convert.ToInt16(index + 1) == Convert.ToInt16(MaxSeqNo))
{
Label3.Text = "You Cant move record down";
Label3.Visible = true;
return;
}
Qry = "Select RedBr from dbTable where RedBr = ''" + LblinID.Text + "''";
conn.Open();
string SeqNo = Command1.ExecuteScalar().ToString();
conn.Close();
if (Convert.ToInt16(MaxSeqNo) > Convert.ToInt16(SeqNo))
{
Qry = "Select RedBr from dbTable where RedBr = ''" + (Convert.ToInt16(SeqNo) + 1) + "''";
conn.Open();
string PostDisplayID = Command1.ExecuteScalar().ToString();
conn.Close();
Qry = "Update dbTable Set RedBr = ''" + (Convert.ToInt16(SeqNo) + 1) + "'' Where RedBr = ''" + LblinID.Text + "'';";
Qry += "Update dbTable Set RedBr = ''" + Convert.ToInt16(SeqNo) + "'' Where RedBr = ''" + Convert.ToInt16(PostDisplayID) + "'';";
conn.Open();
Command1.ExecuteNonQuery();
conn.Close();
bind();
}
}
}
Could anybody help me please, and tell me where I go wrong? I have a feeling that it even doesn't enter the GridView1_RowCommand block, since when I put Response.Write(index) at the beginning it doesn't shows when I view the site in browser.???
Thank you very much in advance.
Reply
Answers (
8
)
Serialization - Event causes an error
How can i create online payment website?