Du måste börja med att se till att datagriden inte försöker uppdatera databasen:
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
e.Cancel = true;
//spara i datasetet
}
2 svar · 400 visningar · startad av CokeLight
Hej, jag har kopplat min GridView (2.0) till en SqlDataSource. När jag gör förändringar där så jobbar jag direkt mot den skarpa databasen. Varje rad har en "Uppdatera" knapp. När man klickar på den skulle jag vilja att förändringarna endast påverkar en logisk enhet, typ ett DataSet eller motsvarande då förändringarna endast behöver vara temporära.
När man sedan klickar på "Skapa ny post" så tänkte jag mig att DataSet laddas med data från den skarpa databasen.
För att åstadkomma detta antog jag att min SqlDataSource skulle använda DataSet som källa, men det är där jag faller.. hur gör man det..? :) Jag hittar inte nån vettig metod eller så.. nån som vet..? Eller använder jag helt fel "strategi"..? Kan man göra på annat sätt för att åstadkomma det jag beskrev ovan..?
Du måste börja med att se till att datagriden inte försöker uppdatera databasen:
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
e.Cancel = true;
//spara i datasetet
}
aha.. ska prova detta.. hade inte sett detta tidigare.. tackar.. :)
(såg inte detta inlägg förrän nu)
ehm.. sen tror jag att jag inte behöver hålla på med olika DataSource om man inte vill.. (såklart :OO ) dessa verkar egentligen bara kapsla in det man gjorde manuellt förut med sqlDa.Fill(myDs, "myTable") etc.. många tutorials för GridView datakopplingar kör ju samma sak för det mesta så jag tänkte inte ens på detta förrän jag började läsa en bok :r )
Har lovat mig själv att sluta med wizards tills jag är säker på vad de håller på med under ytan.. ibland är de lite evil på det sättet.. fast bekväma om man har lite koll kanske =)