Imam na formi gridview koji je bound-ovan na datatable. Sastoji se od dve kolone ID i NAZIV.
Dodao sam Edit dugme i kad ga kliknem pojavi se textbox za izmenu NAZIVA posto je ID read only. Izmenim NAZIV i onda hocu da napisem kod za OnRowEditingEvent:
Moje pitanje je kako da prozovem taj editovani textbox sa novim NAZIVOM i kako da mu "uhvatim" novu vrednost.
Sve sto sam nasao u MSDN se bazira na ovom sto sam napisao ali kod mene vraca prazan string.
Bio bih jako zahvalan za pomoc, u pitanju je samo jedna jedina prozivka polja, a ja ne mogu da nadjem kako se to radi.
Po meni bi prvo trebao kolonu Naziv trebao da prebacis da bude Templte kolona umesto Databound. Zatim bi trebao da postavis id edit text boxa za kolonu Naziv na npr. txtNaziv. Zatim u kodu :
TextBox naziv= (TextBox)gvKlijenti.Rows[e.RowIndex].FindControl("txtNaziv");
naziv.Text ti je text u editvanom textboxu
Ovo je bilo nabrzaka, nadam se da radi (na RowUpdating event sigurno radi)
Izvinjavam se, pogresno sam se izrazio. Ovaj kod radim na RowUpdating event-u ali posto mi je grid rucno bound-ovan na datatable ne moze iz textbox-a da se izvuce nova editovana vrednost polja ,vec ona originalna. Nailazio sam na stranim forumima da se ljudi zale na ovaj problem i do sada jos niko nema odgovor....na zalost.
Imao sam identican problem - u _RowUpdating nisam mogao nikako da dodjem do novih vrednosti polja. Doduse bila je malo drukcija situacija jer nisam koristio sqldatasource vec je gridview bio rucno punjen iz baze - npr:
gvBasket.DataSource = ManualOrder.GetBasketItems()
gvBasket.DataBind()
Ugl. probao sam da presretnem row_update event i u RowCommand metodu, ali bez uspeha.
Prvi problem koji vidim da se cesto javlja je taj da e.NewValues i e.OldValues (u rowUpdating) NE MOZES koristiti ako NE koristis sqldatasource. Jednostavno budu prazni.
Drugi i glavni problem za mene bio je sto sam ne pazeci, ubacio u Page_load re-bindovanje tog istog gridview-a i zaboravio na to, tako da se desavalo sledece:
- promenis vrednost u txt polju,
- kliknes na Update btn
- krene postback - stranica krene da se ucitava
- odradi se page_load - on rebinduje gridview, tj. ponovo ucita stare vrednosti iz baze i ponisti sve ono sto si ti promenio u txt polju
- nakon ovoga izvrsava se i rowcommand i rowupdating i eventualno rowupdated, tako da nema sanse da ikako igde procitas nove vrednosti polja.
Valjda ce ovo nekome pomoci.. mene je izludjivalo.