Update i DataGrid
Jeg har lavet et datagrid, og vil kunne editere i det v.h.a. EditCommand- og UpdateCommand events.Når jeg kører programmet trykker jeg først på "edit" og kan så redigere den ønskede række i DataGrid. Når jeg så trykker på "update", så opdateres de nye data i tekstboksene ikke, men de oprindelige data bliver ved med at stå i DataGrid.
Jeg mener jo at koden ser fornuftig ud, men der må mangle et eller andet.
Håber der er nogen der kan hjælpe.
Her er koden.....
public class DataGrid2 : System.Web.UI.Page
{
protected Label Label1;
protected SqlDataAdapter sqlDataAdapter1;
protected SqlCommand sqlSelectCommand1;
protected SqlCommand sqlInsertCommand1;
protected SqlConnection sqlConnection1;
protected Accessing_and_Binding_Data.DataSet2 dataSet21;
protected DataGrid DataGrid1;
private void Page_Load(object sender, EventArgs e)
{
sqlDataAdapter1.Fill(dataSet21);
DataGrid1.DataKeyField = "ID";
DataGrid1.DataBind();
}
private void DataGrid1_EditCommand(object source,
DataGridCommandEventArgs e)
{
DataGrid1.DataSource = dataSet21.Persondata.DefaultView;
DataGrid1.DataKeyField = "ID";
DataGrid1.EditItemIndex = e.Item.ItemIndex;
DataGrid1.DataBind();
}
private void DataGrid1_UpdateCommand(object source,
DataGridCommandEventArgs e)
{
TextBox TB_Fornavn, TB_Efternavn, TB_Alder;
TB_Fornavn = (TextBox)e.Item.Cells[1].Controls[0];
TB_Efternavn = (TextBox)e.Item.Cells[2].Controls[0];
TB_Alder = (TextBox)e.Item.Cells[3].Controls[0];
DataSet2.PersondataDataTable personTable =
dataSet21.Persondata;
DataSet2.PersondataRow rowToUpdate =
(DataSet2.PersondataRow)personTable.Rows
[e.Item.ItemIndex];
rowToUpdate.Fornavn = TB_Fornavn.Text;
rowToUpdate.Efternavn = TB_Efternavn.Text;
rowToUpdate.Alder = Convert.ToInt16(TB_Alder.Text);
sqlDataAdapter1.Update(dataSet21);
DataGrid1.DataSource = dataSet21.Persondata.DefaultView;
DataGrid1.EditItemIndex = -1;
DataGrid1.DataBind();
}
}