Opdatering af gridview vha. buttonfield
Hej eksperter..jeg har lavet følgene kode:
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
int index = Convert.ToInt32(e.CommandArgument);
GridViewRow row = GridView1.Rows[index];
int userid = Convert.ToInt32(row.Cells[0].Text);
int rank = 0;
switch (e.CommandName)
{
case "Promote":
if (rank < 2 && u.Rank >= 2)
{
//DataGateway.updateRank(userid, rank + 1);
rank = Convert.ToInt32(row.Cells[4].Text) + 1;
row.Cells[4].Text = rank.ToString();
if (u.Userid == userid)
{
u.Rank = rank + 1;
Session["userInfo"] = u;
}
GridView1.UpdateRow(index, false);
}
break;
case "Degrade":
if (rank > 0 && rank < 2 && u.Rank >= 2)
{
//DataGateway.updateRank(userid, rank - 1);
rank = Convert.ToInt32(row.Cells[4].Text) - 1;
row.Cells[4].Text = rank.ToString();
if (u.Userid == userid)
{
u.Rank = rank - 1;
Session["userInfo"] = u;
}
GridView1.UpdateRow(index, false);
}
break;
case "Kick":
if (u.Rank >= rank)
{
DataGateway.kickUser(userid);
}
break;
}
}
Det er meningen at når jeg fx trykker på promote knappen, så skal den ligge en til brugerens rang, gemme i databasen og opdatere tallet i mit gridview.. Det jeg har lavet nu giver følgene fejl:
Du har angivet, at kommandoen opdater sammenligner alle værdier i SqlDataSource 'SqlDataSource1', men den mappe, der er overført til oldValues, er tom. Overfør en gyldig mappe til opdater, eller angiv tilstanden til OverwriteChanges.
Hvad gør jeg forkert?
er lidt træt af de fordanskede fejlbeskeder :(