При редактировании DataGrid на экране старое значение
От: Poltoraki  
Дата: 02.12.04 14:33
Оценка:
При редактировании DataGrid на экране старое значение, а в базе данных новое.
Меняю, скажем, что-то с "1" на "2", новое значение "2" прописывается в базу данных, а на экране остается старое "1". Если второй раз кликнуть update, то в появившемся текстбоксе видно новое значение "2". Где порылась собака понять не могу. Код ниже. Спасибо!

void Page_Load(Object sender, EventArgs e)
{
SqlConnection myConnection = new SqlConnection("server=**;user=**;password=**;database=**;");
SqlDataAdapter myCommand = new SqlDataAdapter("SELECT * from Interface", myConnection);
DataSet EditDS = new DataSet();
myCommand.Fill(EditDS, "RoomEdit");
EditDW = new DataView();
EditDW = EditDS.Tables["RoomEdit"].DefaultView;
EditGrid.DataSource = EditDW;
if (!Page.IsPostBack)
{
EditGrid.DataBind();
}
}

void BindGrid()
{
EditGrid.DataSource = EditDW;
EditGrid.DataBind();
}

void EditGrid_Update(Object sender, DataGridCommandEventArgs e)
{
TextBox RoomUseDescTextB = (TextBox)e.Item.Cells[9].Controls[0];
TextBox RoomUseCdTextB = (TextBox)e.Item.Cells[10].Controls[0];
String newRoomUseCd = RoomUseCdTextB.Text;
String newRoomUseDesc = RoomUseDescTextB.Text;
SqlConnection connUpdate = new SqlConnection("server=**;user=**;password=**;database=**;");
connUpdate.Open();
String sql_edit = "UPDATE Interface " +
"SET RoomUseCode = '" + newRoomUseCd + "', " +
"RoomUseDesc = '" + newRoomUseDesc + "'" +
" WHERE ID = " + e.Item.Cells[0].Text;
SqlCommand sqlCommandUpdate = new SqlCommand(sql_edit,connUpdate);
sqlCommandUpdate.ExecuteNonQuery();
connUpdate.Close();
EditGrid.EditItemIndex = -1;
BindGrid();
}


void Page_Load(Object sender, EventArgs e)
{
SqlConnection myConnection = new SqlConnection("server=**;user=**;password=**;database=**;");
SqlDataAdapter myCommand = new SqlDataAdapter("SELECT * from Interface", myConnection);
DataSet EditDS = new DataSet();
myCommand.Fill(EditDS, "RoomEdit");
EditDW = new DataView();
EditDW = EditDS.Tables["RoomEdit"].DefaultView;
if (!Page.IsPostBack)
{
BindGrid();
}
}

void BindGrid()
{
EditGrid.DataSource = EditDW;
EditGrid.DataBind();
}

void EditGrid_Update(Object sender, DataGridCommandEventArgs e)
{
TextBox RoomUseDescTextB = (TextBox)e.Item.Cells[9].Controls[0];
TextBox RoomUseCdTextB = (TextBox)e.Item.Cells[10].Controls[0];
String newRoomUseCd = RoomUseCdTextB.Text;
String newRoomUseDesc = RoomUseDescTextB.Text;
SqlConnection connUpdate = new SqlConnection("server=**;user=**;password=**;database=**;");
connUpdate.Open();
String sql_edit = "UPDATE Interface " +
"SET RoomUseCode = '" + newRoomUseCd + "', " +
"RoomUseDesc = '" + newRoomUseDesc + "'" +
" WHERE ID = " + e.Item.Cells[0].Text;
SqlCommand sqlCommandUpdate = new SqlCommand(sql_edit,connUpdate);
sqlCommandUpdate.ExecuteNonQuery();
connUpdate.Close();
EditGrid.EditItemIndex = -1;
BindGrid();
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.